def solution(n):
number = [False, False] + [True] * n
answer = []
for i in range(2, n+1) :
if number[i] :
answer.append(i)
for j in range(2*i, n+1, i) :
number[j] = False
return len(answer)
풀이
★ 에라스토테네스의 체를 활용해야 효율성테스트를 통과할 수 있다. ★
2021.06.18 - [Algorithm/개념] - 에라토스테네스의 체(Eratosthenes' sieve )
에라토스테네스의 체(Eratosthenes' sieve )
에라토스테네스의 체(Eratosthenes' sieve ) 그리스의 수학자이자 지리학자인 에라토스테네스가 고안한 소수를 찾는 방법이다. 에라토스테네스의 체 알고리즘 1. 1부터 n까지의 자연수를 전부 나
wizdom.tistory.com
참고할만한 풀이
def solution(n):
num=set(range(2,n+1))
for i in range(2,n+1):
if i in num:
num-=set(range(2*i,n+1,i))
return len(num)
set을 활용하여 차집합으로 문제를 해결하였다.
'Algorithm > Programmers' 카테고리의 다른 글
[Python] 여행 경로 (0) | 2021.06.28 |
---|---|
[Python] 네트워크 (0) | 2021.06.20 |
[Python] 압축 (0) | 2021.06.15 |
[Python] 방금 그 곡 (0) | 2021.06.14 |
[Python] 캐시 (0) | 2021.06.13 |