Algorithm

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

Chemi___6_oj 2023. 2. 9. 12:59

문제 이해 : 4분

문제 풀이 : 20분

 

생각한 과정

1. k진수로 만들어주는 함수 제작

2. 소수를 판정해주는 함수 제작

3.  0을 구간으로 나누어줘야 한다.

 

생각대로 되었던 풀이었다! 앞선 프로그래머스 튜플 오답노트를 바로 써먹을 수 있어 너무 좋았다 ㅎㅎ

import math

def solution(n, k):

    n_jin = jinsu(n,k)
    answer = 0

    tmp_list = []
    for i in n_jin:
        if i != '1' and i != '':
            tmp_list.append(i)

    for i in tmp_list:
        if is_prime(i):
            answer += 1

    return answer

def jinsu(n, k):
    rev_base = ''

    while n > 0:
        n, mod = divmod(n, k)
        rev_base += str(mod)

    return list(str(rev_base[::-1]).split('0'))

def is_prime(n):
    n = int(n)
    for i in range(2,int(math.sqrt(n))+1):
        if(n%i==0):
            return False
    return True