[프로그래머스] 합성수 찾기 - Java

Yunki Kim·2022년 12월 27일
0

프로그래머스

목록 보기
44/101

문제


링크


코드

class Solution {
    public int solution(int n) {
        int answerCount = 0;
        for (int i = 4; i <= n; i++) {
            if (isValue(i)) answerCount++;
        }
        return answerCount;
    }

    public static boolean isValue(int number) {
        int count = 0;
        for (int i = 1; i <= Math.sqrt(number) ; i++) {
            if (number % i == 0) count++;
        }
        return count >= 2;
    }
}

리뷰

약수의 갯수가 3개 이상인 수를 찾는 합성수 문제이다.
이 역시 제곱근까지만 판별해도 가능하다.

메서드없이 구현하기엔 코드가 지저분해보여서 별도로 분리하여 작성하였다.
solution 메서드의 반복문에서 4부터 시작하는 이유는 1, 2, 3은 애초에 합성수가 될 수 없기 때문에 4부터 시작하여 불필요한 리소스를 줄였다.

0개의 댓글