Algorithm/Programmers

[Python] 소수 찾기

느낌표 공장장 2021. 6. 18. 18:58
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