본문 바로가기
Problem Solving/BOJ

[BOJ][Python]2960번 풀이

by NoiB 2022. 6. 22.
반응형

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초안에 돌아가기 때문에 좀 비효율적인 코드라도 충분히 돌아갑니다. 설명을 그대로 코드로 옮겨도 돌아간다는 말이죠. 그래서 저도 대충 짜봤습니다. 역시 잘 돌아가구요. 나중에 데이터가 추가된다면 틀릴 수도 있지만 워낙 동일한 다른 문제가 많아서 아마 그럴 일은 없지 않을까 싶네요.

반응형

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ][Python]1748번 풀이  (0) 2022.06.23
[BOJ][Python]7576번 풀이  (0) 2022.06.23
[BOJ][Python]1931번 풀이  (0) 2022.06.21
[BOJ][Python]10162번 풀이  (0) 2022.06.18