👾(Lv.01)소수찾기
https://school.programmers.co.kr/learn/courses/30/lessons/12921
저번 문제에서 다뤘던 에라토스테네스의 체 알고리즘를 활용한다
def solution(n):
num = set(range(2,n+1))
for i in range(2,n+1):
if i in num:
num -= set(range(i*2,n+1,i))
return len(num)
n=10이라고 가정
num = set(range(2,n+1))
num= {2, 3, 4, 5, 6, 7, 8, 9, 10}
num -= set(range(i*2,n+1,i))
현재 숫자 i의 배수들을 'num' 집합에서 제거
{4(=2x2),6(=3x2),8(=4x2),10(=5x2)}
을 제거{6(=3x2),9(=3x3)}
를 제거