[프로그래머스] Lv2. k진수에서 소수 개수 구하기 (2022 카카오 공채)

lemythe423·2023년 7월 29일
0
post-thumbnail

문제 링크

풀이

k진수로 변경하고, 소수가 될 숫자들은 0 기준으로 다 잘라내서 모은 다음에 소수인지 아닌지 판별하는 문제

솔직히 지금 이렇게 푸니까 쉬운거지 공채 문제에서 만났으면 못 풀었을듯? ㅎㅎ

# 소수 판별 함수
def check(num):
    num = int(num)
    if num == 1:
        return 0
    
    for x in range(2, int(num**0.5)+1):
        if not num%x:
            return 0

    return 1

def solution(n, k):
    answer = 0
    
    # k진수로 변경
    new = []
    while n:
        n, v = divmod(n, k)
        new.append(v)
    
    new = new[::-1]
    
    # 소수가 될 숫자들 찾아내기
    new = ''.join(map(str, new)).replace('0',' ').split()
    
    # 소수인지 확인하기
    for num in new:
        answer += check(num)
        
    return answer
profile
아무말이나하기

0개의 댓글