본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]2960번 에라토스테네스의 체

by 현장 2021. 10. 4.

-코드

n, k = map(int, input().split())
sieve = [True] * (n + 1)
arr = []
for i in range(2, n + 1):
    for j in range(i, n + 1, i):
        if sieve[j]:
            sieve[j] = False
            arr.append(j)
            if len(arr) == k:
                print(j)
                break

전에 풀었던 문제가 에라토스테네스의 체 문제여서 풀어보았습니다. 처음 코드를 만들었을 때, 출력은 잘 나왔지만 런타임 에러가 발생하여 뭐가 문제인지 코드를 여러 번 바꾸어 보았지만 해결이 되지 않아서 찾아보니 for i in range(2, n + 1) 다음 줄에 if문이 하나 더 있어서 틀린 거여서 해결을 하였습니다.