프로그래머스(Python) 풀이/Level.1

프로그래머스(Python) 12921번 소수 찾기 풀이

개발윗미 2022. 5. 10. 11:47

Python으로 구현한 12921번 소수 찾기 문제 풀이입니다.


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

 

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

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

programmers.co.kr


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

    return len(temp)

 

1. 2부터 n까지 수를 삽입한 temp를 정의한다.

 

2. 2의 배수부터 i의 배수까지 temp 리스트에서 제거한다.

 

3. 최종적으로 temp 리스트의 길이를 반환한다.