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 문제에서 힌트 얻음!
'공부하자 > 알고리즘' 카테고리의 다른 글
[프로그래머스] Lv.1 서울에서 김서방 찾기 java (0) | 2022.05.03 |
---|---|
[프로그래머스] Lv.1 나머지가 1이 되는 수 찾기 java (0) | 2022.05.03 |
[프로그래머스] Lv.1 없는 숫자 더하기 java (0) | 2022.04.28 |
[프로그래머스] Lv.1 부족한 금액 계산하기 java (0) | 2022.04.28 |
[프로그래머스] Lv.1 3진법 뒤집기 java (0) | 2022.04.28 |