문제
코드
import math
def convert_binary(n: int, k: int) -> str:
arr = []
while n:
r = n % k
n = n // k
arr.append(r)
return ''.join(list(map(str, arr[::-1])))
def check_sosu(n: int) -> bool:
if n < 2:
return False
for i in range(2, int(math.sqrt(n) + 1)):
if n % i == 0:
return False
return True
def solution(n: int, k: int) -> int:
answer = 0
binary = convert_binary(n, k)
for x in binary.split('0'):
if x:
if check_sosu(int(x)):
answer += 1
return answer
if __name__ == '__main__':
print(solution(437674, 3))
print(solution(110011, 10))
결과
출처 & 깃허브
프로그래머스
깃허브