알고리즘/프로그래머스

[Python] 소수 찾기

dding96 2022. 12. 21. 14:30

https://school.programmers.co.kr/learn/courses/30/lessons/12921

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

  • 나의 풀이
# 소수 찾기

def solution(n):

    import math
    answer = 0
    
    for i in range(2, n+1):
        error = 0
        
        for j in range(2, int(math.sqrt(i)+1)): # 제곱근 까지만 반복
            if i % j == 0:
                error += 1
                break
                
        if error == 0:
            answer += 1
    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)