자료구조 및 알고리즘/알고리즘

[알고리즘] 10진수를 n진수로 변경하기

benjykim 2021. 1. 12. 17:41
반응형

10진수를 n진수로 변경하기

2018 KAKAO BLIND RECRUITMENT - [3차] n진수 게임을 풀며 10진수를 n진수로 변경하는 로직을 작성했었다. 생각보다 오래걸렸고 로직도 복잡하게 짜서 타인의 깔끔한 로직을 기록하려 한다.

def solution(n, t, m, p):

    #재귀함수 이용 - 10진수를 n진수로
    def convert(n, base):
        arr = "0123456789ABCDEF"
        q, r = divmod(n, base)
        if q == 0:
            return arr[r]
        else:
            return convert(q, base) + arr[r]

    answer = ''
    candidate = []

    # 모든 턴의 답
    for i in range(t*m):
        conv = convert(i, n)
        for c in conv:
            candidate.append(c)

    # 튜브의 답만 추출
    for i in range(p-1, t*m, m):
        answer += candidate[i]

    return answer

[출처] https://wwlee94.github.io/category/algorithm/competition/2018-kakao/n-base-game/
반응형