https://programmers.co.kr/learn/courses/30/lessons/77884
- 약수의 개수를 더해주는 메서드를 만든다.
- count로 약수의 개수를 세어주는 변수를 선언 한 후 for문을 통해 받은 매개변수 n을 1부터 n까지 돌리면서 나누었을 때 나머지가 0인 수는 count를 증가(++)시켜 갯수를 세어 개수를 리턴.
- 메인 함수에서 입력 받은 left부터 right까지 for문을 돌려 함수를 호출하고 약수의 개수를 반환 받아서 개수가 짝수개라면, answer 변수에 n을 더해주고 홀수개라면 answer에서 n을 빼주고 최종 answer을 리턴.
class Solution {
public int CountOfAliquot(int n) {
int count=0;
for(int i=1; i<=n; i++) {
if(n % i == 0) {
count++;
}
}
return count;
}
public int solution(int left, int right) {
int answer = 0;
for(int i=left; i<=right; i++) {
int num = CountOfAliquot(i);
if(num % 2 == 0) {
answer += i;
}
else {
answer -= i;
}
}
return answer;
}
}