본문 바로가기
알고리즘/프로그래머스

[파이썬][프로그래머스] Lv. 2 k진수에서 소수 개수 구하기

by SBOX Learning by doing 2022. 9. 6.
반응형

import math
def solution(n, k):
    answer = 0
    # 진수 변환
    ginsu = change_ginsu(n, k)
    
    # 0기준 split
    ginsu_list = ginsu.split('0')
    
    # 리스트 소수 카운트
    for i in ginsu_list:
        if i != '' and i != '1':
            answer += primenumber(int(i))   
    return answer

def primenumber(number):
    for i in range(2, int(math.sqrt(number)+1)):
        if number%i == 0:
            return 0
    return 1


def change_ginsu(n, k):
    answer = ''
    while n//k > 0:
        # 나머지 값 추가
        answer += str(n%k)
        n = n//k
    # 마지막 값 추가
    if str(n) != 0:
        answer += str(n)
    answer = answer[::-1]
    return answer

반응형

댓글