프로그래머스 코딩테스트 고득점 Kit의 문제입니다.
https://programmers.co.kr/learn/challenges?tab=algorithm_practice_kit
코딩테스트 연습
기초부터 차근차근, 직접 코드를 작성해 보세요.
programmers.co.kr
문제
https://programmers.co.kr/learn/courses/30/lessons/17687
코딩테스트 연습 - [3차] n진수 게임
N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0
programmers.co.kr
내가 작성한 코드
def get_num(n, k=0):
i = k
s = str(k)
gen = get_num(n, 1)
while True:
yield s
if i+1 == n:
s = next(gen) + '0'
i = 0
else:
i += 1
s = s[:-1] + str(hex(i)[2:]).upper()
def solution(n, t, m, p):
answer = ''
gen = get_num(n)
turn = 0
p -= 1
while len(answer) < t:
for c in next(gen):
if turn == p:
answer += c
turn = (turn + 1) % m
if len(answer) == t:
break
return answer
- 진법
- 2진수, 8진수, 16진수가 아닌 2~16진수 모두 고려해야한다
- n진수가 고정이 아니므로, generator의 재귀로 n이 넘을 때마다 새로운 자리수 추가
다른 사람이 작성한 코드
None
기억해야할 것
- 자리수에 generator가 편한 것 같다
'코딩테스트' 카테고리의 다른 글
[프로그래머스][KAKAO_BLIND][2018] 자동 완성 (0) | 2021.09.03 |
---|---|
[프로그래머스][KAKAO_BLIND][2018] 셔틀버스 (0) | 2021.09.03 |
[프로그래머스][KAKAO_BLIND][2018] 압축 (0) | 2021.09.03 |
[프로그래머스][KAKAO_BLIND][2018] 방금 그 곡 (0) | 2021.09.03 |
[프로그래머스][KAKAO_BLIND][2019] 블록 게임 (0) | 2021.09.02 |