ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준] 1978 소수 찾기
    백준 2025. 2. 12. 20:43

    - 문제 이해

    • 입력된 n개의 수 중에서 소수의 개수를 구한다.

     

    - isPrime 함수

    • 2부터 √M까지 나누어보면서 나누어 떨어지는지 확인한다.
    • 1은 소수가 아님을 미리 처리한다.

     

    - 코드

    package CLASS2;

    import java.util.Scanner;

    public class 소수찾기 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);

            int n = sc.nextInt(); // 숫자의 개수를 입력한다.
            int count = 0; // 소수 개수를 저장한다.

            for (int i = 0; i < n; i++) {
                int num = sc.nextInt();
                if (num >= 1 && isPrime(num)) { // num이 1 이상인지 확인한다.
                    count++;
                }
            }

            System.out.println(count); // 소수 개수를 출력한다.
            sc.close();
        }

        // 소수 판별 함수 (O(√N))
        public static boolean isPrime(int num) {
            if (num < 2) return false; // 1은 소수가 아니다.
            for (int i = 2; i * i <= num; i++) { // 2부터 √num까지 반복한다.
                if (num % i == 0) return false; // 나누어 떨어지면 소수가 아니다.
            }
            return true; // 위 조건을 통과하면 소수이다.
        }
    }

    '백준' 카테고리의 다른 글

    [백준] 1546 평균  (0) 2025.02.13
    [백준] 10989 수 정렬하기 3  (1) 2025.02.12
    [백준] 1152 단어의 개수  (0) 2025.02.11
    [백준] 3052 나머지  (0) 2025.02.11
    [백준] 10809 알파벳 찾기  (1) 2025.02.11
Designed by Tistory.