S E P H ' S

[Python] n진수 게임 본문

Algorithm/Programmers

[Python] n진수 게임

yoseph0310 2021. 8. 23. 23:47
 

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

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

programmers.co.kr

풀이

1. 10진수를 n진수로 변환하는 재귀함수 구현

def convert(n, base):
	arr = "0123456789ABCDEF"
    q, r = divmod(n, base)
    if q == 0:
    	return arr[r]
    else:
    	return convert(n, base) + arr[r]

 

2. 미리 구할 숫자의 개수  t , 게임에 참가하는 인원  t*m 까지의 숫자들을 convert하고 후보 리스트에 넣는다.

3. 인덱스가 0부터 이므로 p-1에서 마찬가지로 t*m까지 m씩 증가시키며 anwser에 더해 나간다.

 

def solution(n, t, m, p):
	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

 

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 소수 찾기  (0) 2021.08.25
[Python] 가장 큰 정사각형 찾기  (0) 2021.08.24
[Python] 올바른 괄호  (0) 2021.08.23
[Python] 다음 큰 숫자  (0) 2021.08.22
[Python] 카펫  (0) 2021.08.08