728x90
문제
접근 방법
1. 소수 찾기 문제, 소수 구하기 문제 다 에라토스테네스의 체 를 통해서 미리 소수를 구해놓고 찾아주는 방식으로 풀었습니다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static int N;
private static int count = 0;
private static boolean[] arr = new boolean[1010];
//에라토스테네스의 체
public static void eratosthenes(){
arr[0] = arr[1] = false;
for(int i = 2 ; i <= 1000 ; i++){
if(!arr[i]) continue;
for(int j = i*i ; j <=1000 ; j+=i){
arr[j] = false;
}
}
}
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
N = Integer.parseInt(br.readLine());
Arrays.fill(arr,true);
eratosthenes();
st = new StringTokenizer(br.readLine());
for(int i = 0 ; i < N ; i++){
process(Integer.parseInt(st.nextToken()));
}
}
//실행
public static void process(int input) {
if(arr[input]) count++;
}
public static void main(String[] args) throws Exception {
input();
System.out.println(count);
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 2164번 : 카드2 (0) | 2024.04.29 |
---|---|
[Java] 백준 2108번 : 통계학 (0) | 2024.04.29 |
[Java] 백준 1966번 : 프린터 큐 (0) | 2024.04.26 |
[Java] 백준 1929번 : 소수 구하기 (0) | 2024.04.25 |
[Java] 백준 1920번 : 수 찾기 (1) | 2024.04.25 |