728x90

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

 

코딩테스트 연습 - k진수에서 소수 개수 구하기

문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소

programmers.co.kr

def solution(n, k):
    m = ''

    while n > k:
        m += str(n%k)
        n = n//k
    m += str(n)
    m = list(m)
    m.reverse()
    m = ''.join(m)

    s = ''
    result = 0
    for i in m:
        if i!='0':
            s += i
        if i=='0':
            if s != '':
                int_s = int(s)
                flag = 0
                for j in range(2, int(int_s**0.5)+1):
                    if int_s%j==0:
                        flag = 1
                        break
                if flag == 0 and int_s != 1:
                    result += 1
                s = ''
                
    if s != '':       
        int_s = int(s)
        flag = 0
        for j in range(2, int(int_s**0.5)+1):
            if int_s%j==0:
                flag = 1
                break
        if flag == 0 and int_s != 1:
            result += 1

    return result

- n을 k진수로 변환 (m) -> m에 0기준으로 수 끊어서 소수인지 판별 

- 너무 바보같이 짠듯

반응형

'전.py' 카테고리의 다른 글

[python] 프로그래머스 모의고사  (0) 2022.04.13
[python] 백준 1931 회의실 배정  (0) 2022.04.11
[python] 백준 11399 ATM  (0) 2022.04.05
[python] 백준 4375 1  (0) 2022.03.31
[python] 백준 1862 미터계  (0) 2022.03.10
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기