알고리즘
[프로그래머스] 약수의 개수와 덧셈(Java)
muerha
2024. 11. 17. 23:41

나의 풀이
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int x = left; x <= right; x++){
int num = 0;
for(int y = 1; y <= x ; y++){
if( x % y == 0){
num++;
}
}
if (num % 2 == 0) {
answer += x;
} else {
answer -= x;
}
}
return answer;
}
}
변수 초기화 위치 잘 생각하기..
다른 사람의 풀이
class Solution {
public int solution(int left, int right) {
int answer = 0;
for (int i=left;i<=right;i++) {
//제곱수인 경우 약수의 개수가 홀수
if (i % Math.sqrt(i) == 0) {
answer -= i;
}
//제곱수가 아닌 경우 약수의 개수가 짝수
else {
answer += i;
}
}
return answer;
}
}