본문 바로가기
Problem-solving/프로그래머스

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

by taehee.kim.dev 2020. 8. 1.

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

 

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

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

programmers.co.kr

"""
[3차] n진수 게임
"""


def convert(n, number):
    result = ''
    while True:
        bottom = int(number / n)
        right = int(number % n)
        if right >= 10:
            right = chr(right - 10 + 65)
        result = str(right) + result
        if bottom == 0:
            break
        number = bottom
    return result


"""
튜브의 순서
p번째 -> p + m 번째 -> (p + m) + m 번째
"""


def solution(n, t, m, p):
    answer = ''
    n_number_str = ''
    n_number_str_len_to_get = p + (m * (t - 1))
    current_number = 0

    while len(n_number_str) < n_number_str_len_to_get:
        n_number_str += convert(n, current_number)
        current_number += 1

    for time in range(t):
        index = p + (m * time) - 1
        answer += n_number_str[index]

    return answer

댓글