프로그래머스 / 소수 찾기

박성완·2022년 3월 10일
0

프로그래머스

목록 보기
31/43
post-thumbnail

Question

문제링크

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

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

제한사항

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

Input & Output

nresult
104
53

Logic

  1. n개의 자연수에 대해 각각 2부터 √n 까지 나눠본다.
  2. 나누어 떨어지는 값이 없으면 소수이다.

Code

def solution(n):
    answer = 0
    import math
    for i in range(2,n+1):
        nn=0
        for j in range(2,int(math.sqrt(i))+1):
            if i%j==0:
                nn+=1
                break
        if nn==0: answer+=1
        else : nn=0
    return answer

0개의 댓글