[백준] 15965번 K번째 소수

거북이·2023년 1월 29일
0

백준[실버2]

목록 보기
44/81
post-thumbnail

💡문제접근

  • 구하고자 하는 K번째 소수에서 K의 범위는 1 ≤ K ≤ 500,000이다.
    즉, K = 500,000일때도 답을 출력할 수 있는 범위를 찾아야 한다.
    IndexError를 범하면서 기어코 답을 찾았는데 범위의 마지막 값은 10**7이었다.

💡코드(메모리 : 134868KB, 시간 : 3628ms)

import sys
input = sys.stdin.readline

K = int(input().strip())

prime_number = []
arr = [True] * ((10**7) + 1)
for i in range(2, (10**7)+1):
    if arr[i]:
        prime_number.append(i)
        for j in range(i*i, (10**7)+1, i):
            arr[j] = False

print(prime_number[K-1])

💡소요시간 : 8m

0개의 댓글