아몬드바 2023. 8. 2. 21:01
728x90

문제 설명
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.

소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)

제한 조건
n은 2이상 1000000이하의 자연수입니다.


입출력 예


def solution(n):
    array = []
    answer = []

    for i in range(n + 1):
        array.append(True)

    for i in range(2, int(n ** 0.5) + 1):
        if array[i] == True:
            for j in range(i * 2, n + 1, i):
                array[j] = False          

    for i in range(2, n + 1):
        if array[i] == True:
            answer.append(i)
            
    return len(answer)
728x90