본문 바로가기
알고리즘/프로그래머스

[프로그래머스] 약수의 개수와 덧셈 - (JAVA/ 자바)

by pandastic 2025. 4. 1.
반응형

 

 

처음에는 for문만 이용해서 해결하려고 했으나 코드를 잘 못 짜겠어서 GPT 친구에게 방법을 물어봤다.

제곱근의 약수 갯수가 홀수라는 것을 활용해서 해결할 수 있다고 알려주어서 참고하였다.

 

Java에서 sqrt()를 이용해서 제곱근을 구할 수 있다.

Java.lang.Math 클래스 안에 속해있다.

 

 

[정답 코드]

import java.util.*;

class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        List<Integer> list = new ArrayList<>();
        int sq = 0;
        int sqrt = 0;
        
        for(int i = left; i<= right; i++){
            sqrt = (int) Math.sqrt(i);
            if(sqrt * sqrt == i){
                sq += i;
            }else{
                answer += i;
            }
        }
        answer = answer - sq;
        return answer;
    }
}
반응형