
-Code
import java.io.*;
import java.util.*;
public class BOJ9842 {
static List<Integer> prime = new ArrayList<>();
static {
// 소수 계산
boolean[] isPrime = new boolean[1000001];
Arrays.fill(isPrime, true);
// 0과 1은 소수가 아니므로 제외
for (int now = 2; now <= 1000000; now++) {
if (isPrime[now]) {
prime.add(now);
for (int noPrime = now + now; noPrime <= 1000000; noPrime += now) {
isPrime[noPrime] = false;
}
}
}
}
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
// 위치 보정 -1
System.out.println(prime.get(n - 1));
}
}
에라토스테네스의 체를 이용하여 해결했습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [프로그래머스/Java] 노란불 신호등 (0) | 2026.03.22 |
|---|---|
| [백준/Java] 34991번 toycppartoon (0) | 2026.03.21 |
| [프로그래머스/Java] [PCCP 기출문제] 1번 / 붕대 감기 (0) | 2026.03.20 |
| [프로그래머스/Java] [PCCE 기출문제] 10번 / 공원 (0) | 2026.03.20 |
| [백준/Java] 4365번 Stack 'em Up (0) | 2026.03.20 |