728x90
def solution(n, k):
answer = 0;
word = '';
while n :
word = str(n%k) + word;
n = n // k;
word = word.split('0');
for i in word :
prime = True;
if len(i) == 0:
continue;
if int(i) < 2 :
continue;
else :
for j in range(2,int(int(i)**0.5)+1):
if int(i)%j==0:
prime = False;
break;
if prime :
answer+=1;
return answer
풀이 및 회고
우선 k 진수로 변환합니다. 그리고 난 후 '0' 을 기준으로 나눕니다.
split을 통해 얻은 배열에서 '' 인 경우랑 1인 경우 건너뜁니다.
나머지에 대해서 소수인지 판별합니다.
728x90