verdantjuly/코딩테스트
프로그래머스 코딩테스트 연습 : 약수의 개수와 덧셈 (20240312, java)
verdantjuly
2024. 3. 12. 08:21
728x90
문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/77884
나의 풀이
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i= left; i<right+1; i++){
if(Math.pow(Math.floor(Math.sqrt(i)),2) == i ){
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;
}
}
소감
다양한 연산!