Algorithm/프로그래머스

[Python] 프로그래머스 Lv2 - [3차] n진수 게임 (2018 KAKAO BLIND RECRUITMENT)

떵호 2022. 6. 15. 16:07
728x90

🔗 문제링크

 

코딩테스트 연습 - [3차] n진수 게임

N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0

programmers.co.kr

📂 분류

구현

💡 풀이

n진법을 구하는 공식만 알고 있다면 금방 해결할 수 있는 문제이다.

 

접근방식

  • 2진수부터 16진수까지의 값을 구해야 하기 때문에 num이 n보다 작을 때까지 몫과 나머지를 구한다.
  • 0 ~ t * m까지의 n 진수의 값을 스트링으로 저장한다.
  • 튜브의 차례의 요소를 answer에 저장하고 t개가 채워진다면 반복문을 종료한다.

💻 코드

def convert(num, base):
    code = "0123456789ABCDEF"
    ret = ''

    while True:
        if num < base:
            ret += str(code[num])
            break
        num, mod = divmod(num, base)
        ret += code[mod]

    return ret[::-1]


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

    for i in range(m * t):
        game += convert(i, n)

    while not len(answer) == t:
        answer += game[p - 1]
        p += m

    return answer
728x90