

📌문제
두 정수
left와right가 매개변수로 주어집니다.left부터right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
📌제한사항
- 1 ≤
left≤right≤ 1,000
📌입출력 예
left right 13 17 24 27
📌코드
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i = left; i <= right; i++) {
int cnt = 1;
for(int j = 1; j <= i / 2; j++) {
if(i % j == 0) cnt++;
}
if(cnt % 2 == 0) answer += i;
else answer -= i;
}
return answer;
}
}
📌문제풀이
left에서right만큼 반복문을 돌리며 약수의 수를 구한다- num(약수)이 짝수라면 answer에 수를 더하고, num이 홀수면 answer에 수를 뺀다