[프로그래머스_92335] k진수에서 소수 개수 구하기 Python 풀이

출처: 프로그래머스

문제

image image

풀이

k진수로 바꾸어 준 n을 0을 기준으로 나눠주고, 소수의 개수를 세어주었습니다.

코드

def convert(n, k):
    if k == 10:
        return str(n)
    result = ""
    while n:
        n, mod = divmod(n, k)
        result += str(mod)
    return result[::-1]
def is_prime(n):
    if n == 1:
        return False
    if n == 2:
        return True
    for div in range(2, int(n**(.5))+1):
        if n % div == 0:
            return False
    return True
def solution(n, k):
    converted = convert(n, k).split("0")
    prime = [ int(num) for num in converted if num and is_prime(int(num)) ]
    return len(prime)

Leave a comment