๋ฌธ์
ํด๋น ํฌ์คํ ์ ๋ฐฑ์ค์ 1978๋ฒ ์์ ์ฐพ๊ธฐ ์ ์ ๊ทผ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ค๋ช ํ ๊ธ ์ ๋๋ค.
์ ๋ต ์์ค ์ฝ๋๋ฅผ ํ์ธํ์๋ ค๋ฉด solve url ์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ๊ทผํด์ผ ํ๋์ง๋ฅผ ๋จผ์ ์๊ฐํด๋ณด์.
๋ฌธ์ ์ ๊ทผ
ํด๊ฒฐ๋ฒ
์์ ํ๋ณ์ ์ ํ์ ์ธ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ด์ฉํ๋ ๋ฌธ์ ์๋ค.
๋จผ์ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก ์์์ ์ธ๋ฑ์ค์ธ ๋ฐฐ์ด์ ๊ฐ์ 1๋ก ์ง์ ํด์ค๋ค.
์ ๋ต ์ฝ๋
import java.io.*;
public class Main {
private static int[] numbers = new int[1001];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int answer = 0;
int n = Integer.parseInt(br.readLine());
String[] candidates = br.readLine().split(" ");
removePrimeNumber();
for(String candidate : candidates) {
int number = Integer.parseInt(candidate);
if(number == 1) continue;
if(numbers[number] == 0) {
answer++;
}
}
bw.write(String.valueOf(answer));
bw.flush();
bw.close();
}
private static void removePrimeNumber() {
for (int i = 2; i < numbers.length; i++) {
if(numbers[i] == 1) continue; // ์์์ธ ๊ฒฝ์ฐ
for (int j = 2 * i; j < numbers.length; j += i) {
numbers[j] = 1;
}
}
}
}
๋ฌธ์ ํ๊ณ
ํ๊ณ
๋๊ธ