소수 찾기_프로그래머스_파이썬

  • 나의 풀이
def solution(n):
    answer = 0
    for i in range(2,n+1):
        count = 0
        for j in range(2, i+1):
            if i%j==0:
                count+=1
        if count == 1:
            answer+=1
    return answer
print(solution(10))
4
  • 다른 사람 풀이 : 에라토스테너스의 체를 이용한거라는데 대단합니다.
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)
print(solution(10))
4

Comments