본문 바로가기
문제 풀이/프로그래머스 (Programmers)

[Python] 프로그래머스 : 소수 찾기

by 희조당 2022. 7. 1.
728x90

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

 

코딩테스트 연습 - 소수 찾기

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상

programmers.co.kr


 문제 풀이

효율성 테스트가 있어 에라토스테네스의 체를 꼭 사용해야한다!

 느낀 점

 코드

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

댓글