728x90
문제 설명
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.
소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)
https://school.programmers.co.kr/learn/courses/30/lessons/12921
제한 사항
n은 2이상 1000000이하의 자연수입니다.
예제
n | result |
10 | 4 |
5 | 3 |
문제 풀이
def solution(n):
answer = 0
for i in range(2, n + 1):
for j in range(2, int(i**0.5) + 1):
if i % j == 0: # i가 j로 나누어 떨어지면 소수가 아님
break # 소수가 아니므로 루프 종료
else: # break 없이 끝났다면 i는 소수
answer += 1
return answer
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90