[프로그래머스] Lv.1 소수 찾기.java

hgghfgf·2023년 5월 14일
0

프로그래머스

목록 보기
67/227

소수 찾기.java

class Solution {
    public int solution(int n) {
        int answer = 0;

        for (int i = 2; i <= n; i++) {
            if (isPrime(i)) {
                answer++;
            }
        }

        return answer;
    }

    private boolean isPrime(int number) {
        if (number < 2) {
            return false;
        }

        for (int i = 2; i <= Math.sqrt(number); i++) {
            if (number % i == 0) {
                return false;
            }
        }

        return true;
    }
}

n보다 작거나 같은 숫자들 중에서 소수인지 확인하기 위해 isPrime 메서드를 구현했습니다. isPrime 메서드는 주어진 숫자가 2보다 작거나 동일한 경우 false를 반환하고, 그렇지 않은 경우에는 2부터 해당 숫자의 제곱근까지 반복하며 나누어 떨어지는지 확인합니다. 나누어 떨어진다면 해당 숫자는 소수가 아니므로 false를 반환하고, 나누어 떨어지지 않는다면 해당 숫자는 소수이므로 true를 반환합니다.

solution 함수에서는 2부터 n까지의 숫자들을 순회하며 isPrime 메서드를 호출하여 소수의 개수를 세고, 최종적으로 그 값을 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글