728x90

나의 풀이
import re
def solution(n, k):
num = ''
answer = 0
while n > 0:
q, r = divmod(n, k)
num = str(r) + num
n = q
pool = list(map(int, re.findall('[1-9]+', num)))
for num in pool:
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
break
else:
if num != 1:
answer += 1
return answer
- 아라토스테네스의 체에서 +1 을 안해줄때 문제가 생겼다. 아마 제곱수의 경우, 부동소수점 오차에 의한 것으로 추측된다
- 앞으론 꼭 +1을 해줄 것.
반응형
'Coding Test > Programmers' 카테고리의 다른 글
| [프로그래머스/파이썬] 숫자의 표현 (0) | 2022.06.20 |
|---|---|
| [프로그래머스/파이썬] 숫자 블록 (0) | 2022.06.20 |
| [프로그래머스/파이썬] 멀리 뛰기 (0) | 2022.06.20 |
| [프로그래머스/파이썬] 땅따먹기 (0) | 2022.06.20 |
| [프로그래머스/파이썬] 다음 큰 숫자 (0) | 2022.06.20 |