매일 조금씩

프로그래머스 level1 : 기사단원의 무기 - Java 본문

알고리즘

프로그래머스 level1 : 기사단원의 무기 - Java

mezo 2023. 6. 5. 22:36
728x90
반응형

약수의 갯수를 구하는 문제. 제곱을 사용하면 시간 감축 가능.

class Solution {
    public int solution(int number, int limit, int power) {
        int answer = 0;
        for(int kisa = 1; kisa<=number; kisa++){
            int yaksu = 0;
            for(int i = 1; i * i <= kisa; i++){
                if(kisa % i == 0) yaksu += 2;
                if(i * i == kisa) yaksu--;
                if(yaksu > limit){
                    break;
                }
            }
            answer += yaksu > limit ? power : yaksu;
        }
        return answer;
    }
}
728x90
반응형