https://school.programmers.co.kr/learn/courses/30/lessons/77884
정답
class Solution {
public int count (int n)
{
int cnt = 0; //약수의 개수
for(int i=1; i<=n; i++)
{
if(n%i==0)
{
cnt++;
}
}
return cnt;
}
public int solution(int left, int right) {
int answer = 0;
for(int i=left; i<=right; i++)
{
if(count(i)%2==0)
{
//개수가 짝수
answer+=i;
}
else
{
//개수가 홀수
answer-=i;
}
}
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 > 프로그래머스' 카테고리의 다른 글
[JAVA] 프로그래머스 - 부족한 금액 계산하기 (0) | 2024.05.24 |
---|---|
[JAVA] 프로그래머스 - 내적 (0) | 2024.05.24 |
[JAVA] 프로그래머스 - 문자열 내림차순으로 배치하기 (0) | 2024.05.18 |
[JAVA] 프로그래머스 - 키패드 누르기 (0) | 2024.05.18 |
[JAVA] 프로그래머스 - 수박수박수박수박수박수? (0) | 2024.05.18 |