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

Sujin Lee·2022년 6월 12일
0

코딩테스트

목록 보기
65/172
post-thumbnail

문제

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

해결 과정

  • 먼저 k진수로 바꿔주기
  • 0을 기준으로 split
  • 그 값들이 소수인지 확인하기

시행 착오

  • k진수로 바꾸기 str을 초기화 ""

  • 소수는 N의 제곱근까지 나누어 떨어지는지 여부만 조사하면 됨

    • 제곱근 구하기
    ### math 라이브러리 사용
    import math
    print("2의 루트:", math.sqrt(2))
    
    ### 기본적인 방법
    print("2의 루트:", 2**(1/2))
    
    #### 출력
    # 2의 루트: 1.4142135623730951
  • 소수인지 아닌지만 확인하면 되니까 기본값을 True

is_prime = True

풀이

def solution(n, k):
    answer = 0
    number = ""
    while n:
        number = str(n % k) + number
        n = n // k
    # number = ['11', '', '11']
    number = number.split("0")
    is_prime = True
    for i in number:
        # i = ''
        if len(i) == 0:
            continue
        if int(i)==0 or int(i)==1:
            continue
        
        for j in range(2,int(int(i)**(1/2))+1):
            if int(i) % j == 0:
                is_prime = False
                break
        if is_prime:
            answer += 1  
    return answer
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글