1. Problem 📃

2. Constraint 🔗

3. Solution 🔑
- for문을 이용하여 left부터 right까지의 수(n)를 한번씩 체크
- 받은 수(n)를 1부터 자기 자신까지 나누어서 나머지가 0이 되면 그 수의 약수가 되므로 약수의 개수를 세어주는 변수(count)를 1 증가
- 총 개수가 짝수면 answer에 더해주고 홀수면 answer에서 빼준다
- 개수를 세어주는 변수(count)를 0으로 초기화 후 다음 수(n)의 개수를 세어주면서 left가 right가 될 때까지 반복 후 answer을 리턴.
4. Code 💻
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;
}
}