๋ฌธ์
์ฃผ์ด์ง ์ N๊ฐ ์ค์์ ์์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ์ค์ ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. N์ 100์ดํ์ด๋ค. ๋ค์์ผ๋ก N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๋ 1,000 ์ดํ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฃผ์ด์ง ์๋ค ์ค ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
4
1 3 5 7
์์ ์ถ๋ ฅ 1
3
ํ์ด
1. ์ฃผ์ด์ง๋ ์๊ฐ 1000 ์ดํ์ ์์ฐ์์ด๋ฏ๋ก 1~1000 ์ฌ์ด์ ์์๋ฅผ ๋ฏธ๋ฆฌ ๊ณ์ฐํ์ฌ ๋ฐฐ์ด์ ๋ฃ์ด๋๋ค
1-1. ์์๋ 1๊ณผ ์๊ธฐ ์์ ์ผ๋ก๋ง ๋๋ ์ง๋ ์์ด๋ฏ๋ก, 2, 3, 5, …… ์์ด๋ค.
1-2. 2์ 3๋ถํฐ ๋ฐฐ์ด prime[] ์ ๋ฃ์ด๋๊ณ
1-3. 4~1000 ์ ์๊ฐ ํด๋น prime์ ์๋ก ๋๋์ด์ง๋์ง ํ์ธํ์ฌ ๋๋์ด์ง์ง ์๋ ์๋ง prime์ ์ถ๊ฐํ๋ค.
2. ์ ๋ ฅ๋ฐ์ ์๊ฐ prime์ ์กด์ฌํ๋์ง ํ์ธํ์ฌ ์กด์ฌํ ๋๋ง count++
3. count๋ฅผ ์ถ๋ ฅ
import java.util.Scanner;
public class B1978 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
int count = 0;
int prime[] = new int[200];
int primeIdx = 1;
prime[0] = 2;
prime[1] = 3;
Loop1 :
for(int i = 4; i <= 1000; i++) {
for(int j = 0; j < primeIdx; j++) {
if(i % prime[j] == 0) {
continue Loop1;
} else {
}
}
prime[++primeIdx] = i;
}
for(int i = 0; i < t; i++) {
int num = sc.nextInt();
for(int j = 0; j <= primeIdx; j++) {
if(prime[j] == num) {
count++;
break;
}
}
}
System.out.println(count);
}
}