최초 코드 - 시간 초과

def find(n):
    count = 0
    for i in range(1, int(n ** .5) + 1):
        if n % i == 0:
            count += 1
    return 1 if count == 1 else 0
            
def solution(n):
    answer = 0
    for i in range(2, n + 1):
        answer += find(i)
    return answer

 

최종 코드 

def solution(n):
    num = set(range(2, n + 1))

    for i in range(2, n + 1):
        if i in num:
            num -= set(range(2 * i, n + 1, i))
    return len(num)

+ Recent posts