본문 바로가기

알고리즘

[programmers] 소수찾기(12921)


 

코드

def solution(n):
    numbers = set(i for i in range(2, n+1))
    for i in range(2, n + 1):
        if i in numbers:
            numbers -= set(j for j in range(2 * i, n + 1, i))
    print(numbers)
    return len(numbers)

 

주의할 점

1. set으로 제거하지 않고, numbers를 하나하나 다 찾으면 효율성에서 실패,,ㅠ