Problem Solving/BOJ
[BOJ][Python]2960번 풀이
NoiB
2022. 6. 22. 21:08
반응형
https://www.acmicpc.net/problem/2960
2960번: 에라토스테네스의 체
2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다.
www.acmicpc.net
n,k = map(int, input().split())
num = [i for i in range(2,n+1)]
cnt = 0
while num:
p = num[0]
for i in num:
if i%p == 0:
num.remove(i)
cnt += 1
if cnt == k:
print(i)
break
에라토스테네스의 체 문제는 백준에 상당히 많은데요. 그 중에서도 쉬운 편이 아닌가 생각합니다. 일단 n의 최대 범위가 1000까지이기 때문에 이중 반복문의 최대가 10^6번의 연산이고 해당 연산은 1초안에 돌아가기 때문에 좀 비효율적인 코드라도 충분히 돌아갑니다. 설명을 그대로 코드로 옮겨도 돌아간다는 말이죠. 그래서 저도 대충 짜봤습니다. 역시 잘 돌아가구요. 나중에 데이터가 추가된다면 틀릴 수도 있지만 워낙 동일한 다른 문제가 많아서 아마 그럴 일은 없지 않을까 싶네요.
반응형