세용용용용 2023. 7. 14. 23:23

나의 코드

#진수 뽑아내는 함수
def jinsu(n, k):
    answer = ''
    while True:
        answer += str(n%k)
        n = n//k
        if n == 0:
            break
    answer = answer[::-1]
    #print(answer)
    return answer
jinsu(437674, 3)

#소수 판별함수
#소수이면 True리턴 소수가 아니면 False리턴
def cor_sosu(num):
    for i in range(2, int((num**(1/2))+1)):
        if num % i == 0:
            return False
    return True


def solution(n,k):
    answer = 0
    #진수를 뽑아내고 0을 기준으로 분할시킴
    change_jinsu = jinsu(n,k).split('0')
    #print(change_jinsu)
   
    #for문을 돌려 소수이면 answer+=1 증감 해주기
    for i in change_jinsu:
        # 값이 ''(공백) 이면 continue 해주기
        if len(i) == 0:
            continue
        else:
            if (cor_sosu(int(i)) == True) and (i!='1'):
                answer += 1
   
    #print(answer)
    return answer
solution(110011, 10)