Algorithm
11.17.(목) Programmers Java Lv1 약수의 개수와 덧셈
콜라든포비
2022. 11. 17. 22:23
약수의 개수와 덧셈
문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제한 조건
- 1 ≤ left ≤ right ≤ 1,000
입력값
left : 13, 24
right : 17, 27
result : 43, 52
Solution
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i=left; i<=right; i++){
boolean sqrt = false;
if((double)Math.sqrt(i)%1==0){
sqrt = true;
}
answer = sqrt? answer-i : answer+i;
}
return answer;
}
}
약수의 개수가 홀수라는건 정수제곱근을 갖는다는 의미이므로 정수제곱근을 가지면 answer에서 그 숫자를 빼고, 없다면 그 숫자를 더했다.