-코드
from math import sqrt
def solution(n):
seive = [True] * (n + 1)
for i in range(2, int(sqrt(n)) + 1):
if seive[i]:
for j in range(i + i, n + 1, i):
seive[j] = False
answer = [i for i in range(2, n + 1) if seive[i]]
return len(answer)
처음에는 그냥 for문으로 1~n까지 일일이 다 검사하는 코드를 짰으나 시간 초과가 나와서 에라토스테네스의 체를 사용하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 2669번 직사각형 네개의 합집합의 면적 구하기 (0) | 2021.12.13 |
---|---|
[백준/파이썬] 23825번 SASA 모형을 만들어보자 (0) | 2021.12.13 |
[프로그래머스/파이썬] 나머지가 1이 되는 수 찾기 (0) | 2021.12.12 |
[프로그래머스/파이썬] 약수의 개수와 덧셈 (0) | 2021.12.12 |
[백준/파이썬] 10250번 ACM 호텔 (0) | 2021.12.12 |