본문 바로가기

프로그래머스

19)소수 찾기

문제

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보기

 

조건

소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)

입출력 예 #1
1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환

 

입출력 예 #2
1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환

 

제한사항

n은 2이상 1000000이하의 자연수입니다.

 

문제풀이

def solution(n):
    numbers=[True]*(n+1)
    answer=0
    
    for i in range(2, int((n**1/2)+1)):
        if numbers[i]==False:
            continue
        
        for i in range(i+i, n+1, i):
            numbers[i]=False
    
    for i in range(2, n+1):
        if numbers[i]==True:
            answer+=1
    
    return answer

'프로그래머스' 카테고리의 다른 글

21)문자열 다루기 기본  (0) 2021.11.11
20)서울에서 김서방 찾기  (0) 2021.11.11
18)수박수박수박수박수박수?  (0) 2021.11.11
17)문자열을 정수로 바꾸기  (0) 2021.11.11
16)시저 암호  (0) 2021.11.11