-
[백준] 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