본문 바로가기

파이썬 Python/프로그래머스

[프로그래머스] 소수 찾기

728x90

프로그래머스 '소수 찾기' 풀이

 

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

 

나의 풀이 ) 

 

아래 더보기란에 추가 설명

더보기

1. 저는 먼저 소수인지 판별하기 위한 함수를 따로 만들어주었습니다.

   2부터 자기 자신의 제곱근까지 for문을 통해 순회하며, number가 i로 나누어 떨어지면 1과 자기 자신 말고 약수가 또 있다는 것이니 소수가 아니므로 False를 리턴해줍니다. 나누어 떨어지는 i가 없다면 True를 리턴해줍니다.

(여기서 자기 자신의 -1 한 값까지 순회하지 않는 이유는 약수는 짝을 지어 존재하기 때문에, 굳이 자기 자신까지 확인해주지 않아도 판별이 가능하여 생략하였습니다.)

2. 1번에서 만들어둔 isprime() 함수를 이용하여 2부터 입력받은 n까지 for문으로 순회하며 소수이면 answer에 +1 해줍니다. (1은 소수가 아니므로 2부터 시작)

3. for문을 다 돈 후 answer 값을 리턴해줍니다.

수정할 부분이 발견되거나 궁금한 점이 있으면 댓글 남겨주세요.

성장을 위한 댓글은 환영입니다 :)

728x90