title: "[프로그래머스] k진수에서 소수 개수 구하기 Python 파이썬 해설 (Level 2) - 이도훈"
cleanUrl: "programmers/92335"
description: "프로그래머스 Level 2 문제 [k진수에서 소수 개수 구하기]의 풀이를 정리합니다."

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

def kary(n, k):
    res = []
    while n > 0:
        n, mod = divmod(n, k)
        res.append(str(mod))
    
    return ''.join(res[::-1])

def isprime(n):
    if n == 1:
        return False
    if n == 2:
        return True
    
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def solution(n, k):
    # 문제가 복잡하게 생겼을 뿐 n진법 문자열을 0을 기준으로 split한 후
    # 소수 개수를 세면 되는 문제입니다.
    return sum(isprime(int(num)) for num in kary(n, k).split('0') if num != '')

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges