Algorithm/프로그래머스
[알고리즘] 약수의 개수와 덧셈 Java
rw-
2024. 2. 21. 18:28
728x90
class Solution {
public int solution(int left, int right) {
int answer = 0;
for (int j = left; j <= right; j++) {
int count = 0;
for (int i = 1; i * i <= j; i++) {
if (i * i == j) {
count++;
} else if (j % i == 0) {
count+=2;
}
}
if(count % 2 == 0) {
answer += j;
} else {
answer -= j;
}
}
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;
}
}
728x90
반응형