1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.
소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)
n | result |
---|---|
10 | 4 |
5 | 3 |
def solution(n):
answer = 0
num_list = [True] * (n + 1)
num_list[0], num_list[1] = False, False
for i in range(2, n+1):
if num_list[i] == True:
j = 2
while i * j <= n:
num_list[i * j] = False
j += 1
answer = sum(num_list)
return answer