from collections import deque
import math
def nToK(n, k):
result = deque()
while(n//k):
q = n // k
r = n % k
result.appendleft(str(r))
n = q
result.appendleft(str(n))
return result
def isPrimeAndNoZeros(n):
if n < 2:
return False
if n == 2:
return True
for i in range(2, math.ceil(math.sqrt(n))+1):
if n % i == 0:
return False
# 자릿수에 0이 포함되면 X
for item in str(n):
if item == "0":
return False
return True
def solution(n, k):
answer = 0
converted = nToK(n, k)
converted = "".join(converted)
split = converted.split("0")
for item in split:
if item == '':
continue
if isPrimeAndNoZeros(int(item)):
answer += 1
return answer
프로그래머스 연습문제, https://school.programmers.co.kr/learn/challenges