문제 링크
https://programmers.co.kr/learn/courses/30/lessons/77884
코딩테스트 연습 - 약수의 개수와 덧셈
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주
programmers.co.kr
C++ 풀이
#include <string>
#include <vector>
using namespace std;
int findDivisorN(int num) {
int divisorN = 0;
for (int i = 1; i <= num; i++) {
if (num % i == 0)
divisorN++;
}
return divisorN;
}
int solution(int left, int right) {
int answer = 0;
for (int i = left; i <= right; i++) {
if (findDivisorN(i) % 2 == 0)
answer += i;
else
answer -= i;
}
return answer;
}
반응형
'알고리즘 · 코딩' 카테고리의 다른 글
[SWEA 7854] 최약수 (0) | 2021.07.21 |
---|---|
[프로그래머스] 거리두기 확인하기 (0) | 2021.07.15 |
[백준 21608번] 상어 초등학교 (0) | 2021.04.30 |
[백준 10769번] 행복한지 슬픈지 (0) | 2021.04.25 |
[백준 13458번] 시험 감독 (0) | 2021.04.23 |