[Programmers] 소수 찾기 / Python, 파이썬 / 12921
2022. 6. 6. 02:13ㆍProgrammers/Lv.1
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/12921?language=python3
문제 설명
더보기
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.
소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)
제한 조건
- n은 2이상 1000000이하의 자연수입니다.
입출력 예
n | result |
10 | 4 |
5 | 3 |
입출력 예 설명
입출력 예 #1
1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환
입출력 예 #2
1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환
문제 풀이
from math import sqrt
'''
에라토스테네스의 체(Sieve of Eratosthenes)
'''
def solution(n):
num = set(range(2, n+1))
for i in range(2, int(sqrt(n+1))+1):
if i in num:
num -= set(range(2*i, n+1, i))
return len(num)
728x90
반응형
'Programmers > Lv.1' 카테고리의 다른 글
[Programmers] 문자열을 정수로 바꾸기 / Python, 파이썬 / 12923 (0) | 2022.06.06 |
---|---|
[Programmers] 수박수박수박수박수박수? / Python, 파이썬 / 12922 (0) | 2022.06.06 |
[Programmers] 서울에서 김서방 찾기 / Python, 파이썬 / 12919 (0) | 2022.06.06 |
[Programmers] 문자열 다루기 기본 / Python, 파이썬 / 12918 (0) | 2022.06.06 |
[Programmers] 문자열 내림차순으로 배치하기 / Python, 파이썬 / 12917 (0) | 2022.06.06 |