import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int input;
int answer = 0;
StirngTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
input = Integer.parseInt(st.nextToken());
for (int j = 2; j <= input; j++) {
if (j == input) answer++;
if (input % j == 0) break;
}
}
System.out.println(answer);
}
}
앞에서 부터 쭉 순회하는 방법
import java.io.*
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
int cnt = 0;
StringTokenizer st = new StringTokenizer(br.readLine()," ");
while (st.hasMoreTokens()) {
boolean isPrime = true;
int num = Integer.parseInt(st.nextToken());
if (num == 1) continue;
for (int i = 2; i <= Math.sqrt(num); i++) { // 제곱근 전까지 하면 됨
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) ++cnt;
}
System.out.println(cnt);
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
int answer = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) arr[i] = Integer.parseInt(st.nextToken());
for (int i = 0; i < N; i++) {
int num = arr[i];
for (int j = 2; j <= num; j++) {
if (j == num) answer++;
if (num % j == 0) break;
}
}
System.out.println(answer);
}
}
제곱근을 이용한 방법. 제곱은 을 이용하면 2.xxx 이므로 2까지만 나누어 떨어지는지 계산하면 됨