
나의 풀이
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;
}
}
'알고리즘' 카테고리의 다른 글
| [프로그래머스] 부족한 금액 계산하기(Java) (2) | 2024.11.19 |
|---|---|
| [프로그래머스] 문자열 내림차순으로 배치하기(Java) (0) | 2024.11.18 |
| [프로그래머스] 내적(Java) (0) | 2024.11.16 |
| [프로그래머스] 수박수박수박수박수박수?(Java) (0) | 2024.11.15 |
| [프로그래머스] 가운데 글자 가져오기(Java) (0) | 2024.11.14 |