💡 소수란, 1과 자기 자신으로만 나눠지는 수(0, 1은 제외)
🤔
배열의 크기를 N이 아닌 N+1만큼 하는 이유. 배열의 인덱스는 0부터 시작하므로 인덱스의 수와, 실제 소수인지 판별할 수를 일치시키기 위해 +1를 해준다.
class Main2 {
public int solution(int n) {
int result = 0;
int[] arr = new int[n+1];
for(int i = 2; i<arr.length; i++) {
if(arr[i] == 0){
result++;
for(int j = i; j < arr.length; j= j+i) {
arr[j] = 1;
}
}
}
return result;
}
public static void main(String[] args) throws IOException {
Main2 T = new Main2();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int answer = T.solution(n);
System.out.println(answer);
}