공부하자/알고리즘
[프로그래머스] Lv.1 약수의 개수와 덧셈 java
snbrin
2022. 5. 3. 13:55
https://programmers.co.kr/learn/courses/30/lessons/77884
문제
두 정수 left와 right. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return하는 함수를 완성하시오.
제한조건
1 <= left <= right <= 1,000
.java
class Solution {
public int solution(int left, int right) {
int answer = 0;
int count =0;
//제곱수가 있으면 홀, 없으면 짝
for(int i=left; i<=right; i++){
//i의 제곱으로 나누떨어지면 i는 제곱수라는 뜻
if(i%Math.sqrt(i)==0)
//제곱수가 있을 경우 약수는 홀수개므로 빼기
answer -= i;
//제곱수가 없으면 약수는 짝수개이므로 더하기
else
answer += i;
}
return answer;
}
}
실행 결과
2022.04.24 - [공부하자/알고리즘] - [프로그래머스] Lv.1 정수 제곱근 판별 java 문제에서 힌트 얻음!