practivceAlgorithm/programmers

[Programmers][Python] KAKAO 2018 N진수 게임

findTheValue 2021. 11. 7. 02:11

진법수로 변환할때 맨 앞부터 채울 생각을 했는데 다른 사람들 풀이보니 전부 뒷자리부터 채웠다..

생각해보니 그렇게 해도 전혀 상관없는데 나는 무슨짓을 한건지..

 

def solution(n, t, m, p):
    answer = ''
    parse_table = {i: hex(i)[2:].upper() for i in range(16)}
    p -= 1
    tmp = '0'
    num = 1
    while len(tmp) < p + t * m:
        k = 1
        while num >= k:
            k *= n
        k //= n
        now = num
        while k:
            a = now // k
            tmp += parse_table[a]
            now -= a * k
            k //= n
        num += 1
    for i in range(p, p + t * m, m):
        answer+= tmp[i]
    return answer