상상쓰

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

Coding Test

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

상상쓰 2021. 9. 5. 01:27

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

 

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

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

programmers.co.kr

 

나누기를 반복하여 구한 N진수를 result 에 더하여 최대 t * m 길이의 문자열을 만든다. p <= m 이고 answer 은 길이가 t 인 문자열이기 때문에 t * m 길이의 result 면 충분하다. result 에서 p 부터 시작하여 m 단위로 끊어서 t 개의 문자를 answer 에 더하여 반환하면 된다.

 

def solution(n, t, m, p):
    answer = ''
    char = '0123456789ABCDEFG'
    result = '0'
    i = 1
    
    while True:
        j = i
        base = ''
        
        while j != 0:
            j, r = divmod(j, n)
            base = char[r] + base
        
        result += base
        
        if len(result) >= t * m:
            break
        
        i += 1
    
    answer = ''.join([result[i*m+p-1] for i in range(t)])
    
    return answer

print(solution(2, 4, 2, 1)) # 0111
Comments