[Python] 카카오(2) n진수게임

Updated: Categories:

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

아이디어

  1. 미리 구할 숫자의 개수 t에 맞춰 숫자를 n 진법으로 변환합니다.
  2. 입력되는 숫자를 주어진 진법으로 변환할 줄 아는지를 묻는 문제였습니다.

알게 된 함수/방법

  • n진수 변환 방법 : https://brownbears.tistory.com/468

정답 코드

def numeral_system(number, base):
    notation = '0123456789ABCDEF'
    q, r = divmod(number, base)
    n = notation[r]
    return numeral_system(q, base) + n if q else n

def solution(n, t, m, p):
    result = ''
    i = cnt = 0
    while t != len(result):
        st = numeral_system(i,n)
        for s in st:
            if p == cnt%m+1:
                result += s
                if t==len(result):
                    break
            cnt+=1
        i+=1
    return result