-> 자세한 내용 보러가기
import java.util.*;
class Solution {
public int solution(int n) {
if (n <= 1) return 0;
int count = (n - 1) / 2; // 2를 제외한 홀수의 개수
boolean[] primes = new boolean[count + 1];
Arrays.fill(primes, true);
for (int i = 3; i * i <= n; i += 2) {
if (primes[i / 2]) {
for (int j = i * i; j <= n; j += i * 2) {
primes[j / 2] = false;
}
}
}
int countPrimes = 1; // 2는 소수
for (int i = 1; i <= count; i++) {
if (primes[i]) countPrimes++;
}
return countPrimes;
}
}