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

HL·2022년 4월 25일
0

프로그래머스

목록 보기
40/44

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/92335#qna

문제 설명

진수 변환 후 문자열 내에서 소수 개수 판별하기

풀이

  • 진수 변환
  • 스플릿
  • 소수 판별
    • 시간 초과 때문에 제곱근까지만 판별해야됨

후기

  • 이것도 애먹었다...

코드

def solution(n, k):
    answer = 0
    p = n2p(n, k)
    
    splited = p.split("0")    # 스플릿
    for numString in splited:  
        
        if not numString:
            continue
            
        num = int(numString)
        
        if isPrime(num):
            answer += 1
    
    return answer
    

def n2p(n, k):
    listt = []
    
    while n != 0:
        q = n // k
        r = n % k
        listt.append(r)
        n = q
    
    listt.reverse()
    
    return "".join(map(str, listt))


def isPrime(n):
    if n == 1:
        return False
    for i in range(2, int(n ** (1/2)) + 1):
        if n % i == 0:
            return False
    return True
profile
Frontend 개발자입니다.

0개의 댓글

관련 채용 정보