프로그래머스
2022 KAKAO BLIND RECRUITMENT
k진수에서 소수 개수 구하기
import math
def primality(n):
if n == 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
def conversion(n,q):
rev_base=''
while n>0:
n,mod=divmod(n,q)
rev_base+=str(mod)
return rev_base[::-1]
def solution(n, k):
answer=0
num=conversion(n,k)
num_list=num.split('0')
for l in num_list:
if len(l)>0:
if primality(int(l)):
answer+=1
return answer
소수 판별 알고리즘, n진수 변환은 많이 나오는듯 하니 외우자.