반응형
https://programmers.co.kr/learn/courses/30/lessons/77884
소요시간 : 7분 13초
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i=left; i<=right; i++){
int result = howMany(i);
if(result%2 ==0){//짝수이면 더함
answer+=i;
}else{
answer-=i;
}
}
return answer;
}
public static int howMany(int val){
int count=0;
for(int i=1; i<=val; i++){
if(val%i == 0){//나누어떨어지면
++count;
}
}
return count;
}
}
숏코드 : Math.sqrt()를 이용해서 제곱수인경우 약수의 개수가 홀수인 점. 이용함.
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) | 2021.11.05 |
---|---|
[JAVA] 프로그래머스 음양 더하기 (0) | 2021.10.27 |
[JAVA] 백준 마법사 상어와 토네이도 (0) | 2021.10.21 |
[JAVA] 백준 새로운게임2 (0) | 2021.10.20 |
[JAVA] 백준 게리맨더링2 (0) | 2021.10.05 |