최초 코드 - 시간 초과
def find(n):
count = 0
for i in range(1, int(n ** .5) + 1):
if n % i == 0:
count += 1
return 1 if count == 1 else 0
def solution(n):
answer = 0
for i in range(2, n + 1):
answer += find(i)
return answer
최종 코드
def solution(n):
num = set(range(2, n + 1))
for i in range(2, n + 1):
if i in num:
num -= set(range(2 * i, n + 1, i))
return len(num)
'코딩 테스트 (Coding Test)' 카테고리의 다른 글
[프로그래머스] 시저 암호 (0) | 2023.01.10 |
---|---|
[프로그래머스] *최대공약수와 최소공배수 (0) | 2023.01.10 |
[프로그래머스] 짝수와 홀수 (0) | 2023.01.10 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (0) | 2023.01.10 |
[프로그래머스] 자릿수 더하기 (0) | 2023.01.10 |