본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

k진수에서 소수 개수 구하기

by 세용용용용 2023. 7. 14.

나의 코드

#진수 뽑아내는 함수
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)

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

[3차] n진수 게임  (0) 2023.07.15
[3차] 압축  (0) 2023.07.15
전화번호 목록  (0) 2023.07.14
타겟 넘버  (0) 2023.07.12
피로도  (0) 2023.07.11