본문 바로가기

Coding Test/Programmers

[프로그래머스/파이썬] [3차] n진수 게임

728x90

나의 풀이

def get_num(num, n):
    digit = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
    q, r = divmod(num, n)

    if q:
        return get_num(q, n) + digit[r]
    else:
        return digit[r]

def solution(n, t, m, p):
    answer = ''
    count = 0

    while len(answer) < (t - 1) * m + p:
        answer += get_num(count, n)
        count += 1

    return answer[:((t - 1) * m + p)][p - 1::m]

 - digit을 list 대신 string이나 list('0123456789ABCDDEF')로 해줄 수도 있었을 듯

 - slicing을 [p-1::m][:t] 로 처리할 수 있었을 듯 (더 깔끔)

 

 

 

 

 

반응형