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
'파이썬 Python > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최소공배수 (0) | 2022.03.25 |
---|---|
[프로그래머스] 최소직사각형 (0) | 2022.03.24 |
[프로그래머스] 행렬의 덧셈 (0) | 2022.03.23 |
[프로그래머스] 정수 내림차순으로 배치하기 (0) | 2022.03.23 |
[프로그래머스] 가운데 글자 가져오기 (0) | 2022.03.23 |