STUDY/Algorithm

[프로그래머스] [3차] n진수 게임 python

sinawi95 2021. 4. 1. 19:08
728x90

programmers.co.kr/learn/courses/30/lessons/17687#

 

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

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

programmers.co.kr

from math import sqrt
def solution(n, t, m, p):
    answer = ''
    order = 0
    break_chk = False
    number, length = 0, 1
    n_number = '0'

    while True:
        for i in range(length):
            order =  (order + 1) % m
            if order == p%m:
                answer += n_number[i]
                t -= 1
            if t == 0:
                break_chk = True
                break
        if t == 0 or break_chk:
            break
        number += 1
        length,n_number = number_chk(number, n)

    return answer

def number_chk(number,n):
    table = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F')
    if number == 0:
        return (1, '0')
    answer1 = ''
    answer2 = 1
    tmp_number = number
    while tmp_number > 0:
        answer1 += table[tmp_number % n]
        tmp_number //= n

    return (len(answer1) ,answer1[::-1])

    
    

브루트포스로 숫자를 계속 올려가면서 하나씩 구했다.