https://programmers.co.kr/learn/courses/30/lessons/17687?language=python3
코딩테스트 연습 - [3차] n진수 게임
N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0
programmers.co.kr
최종 코드
GitHub - hwayeon351/Programmers-Algorithms: 프로그래머스 알고리즘 소스 코드 모음
프로그래머스 알고리즘 소스 코드 모음. Contribute to hwayeon351/Programmers-Algorithms development by creating an account on GitHub.
github.com
from collections import deque
import string
tmp = string.digits + string.ascii_uppercase
def convert_10_to_n(num, base):
q, r = divmod(num, base)
if q == 0:
return tmp[r]
else:
return convert_10_to_n(q, base) + tmp[r]
def solution(n, t, m, p):
answer = ''
num = 0
turn = 1
while len(answer) < t:
q = deque(convert_10_to_n(num, n))
while q:
c = q.popleft()
if turn == p:
answer += c
if len(answer) == t: break
turn += 1
if turn > m: turn = 1
num += 1
return answer
풀이 과정
풀이 시간 31분
from collections import deque
import string
tmp = string.digits + string.ascii_uppercase
def convert_10_to_n(num, base):
#num을 base로 나눈 몫과 나머지
q, r = divmod(num, base)
#몫이 0인 경우, 나머지에 해당하는 값을 리턴한다
if q == 0:
return tmp[r]
#몫이 0이상인 경우, 몫에 관한 base 진수를 재귀로 구하고 나머지에 해당하는 값을 이어 붙여 리턴한다
else:
return convert_10_to_n(q, base) + tmp[r]
def solution(n, t, m, p):
answer = ''
#말해야하는 숫자
num = 0
#말할 차례
turn = 1
#튜브가 t개의 숫자를 말할 때까지 반복
while len(answer) < t:
#현재 말해야하는 숫자를 n진법으로 바꾼 값을 q에 담는다
q = deque(convert_10_to_n(num, n))
while q:
c = q.popleft()
#현재 말할 차례가 튜브인 경우, 숫자를 answer에 담는다
if turn == p:
answer += c
#t개의 숫자를 모두 말한 경우, 반복문을 종료한다
if len(answer) == t: break
#차례를 갱신한다
turn += 1
#차례가 m보다 크면 다시 1번으로 돌아간다
if turn > m: turn = 1
#말해야 하는 차례를 1 증가한다
num += 1
return answer
참고
Level 2 [3차] 압축 <2018 KAKAO BLIND RECRUITMENT> Python 3
https://programmers.co.kr/learn/courses/30/lessons/17684?language=python3 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] program..
hwayomingdlog.tistory.com
- 3. 파일명 정렬 - 2022.03.29 - [코테 노트/프로그래머스] - Level 2 [3차] 파일명 정렬 <2018 KAKAO BLIND RECRUITMENT> Python 3
Level 2 [3차] 파일명 정렬 <2018 KAKAO BLIND RECRUITMENT> Python 3
https://programmers.co.kr/learn/courses/30/lessons/17686?language=python3 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히..
hwayomingdlog.tistory.com
Level 2 [3차] 방금그곡 <2018 KAKAO BLIND RECRUITMENT> Python 3
https://programmers.co.kr/learn/courses/30/lessons/17683?language=python3 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때..
hwayomingdlog.tistory.com
- 5. 자동완성
'코테 노트 > 프로그래머스' 카테고리의 다른 글
Level 3 기둥과 보 설치 <2020 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2022.04.02 |
---|---|
Level 3 매칭 점수 <2019 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2022.04.01 |
Level 2 [3차] 파일명 정렬 <2018 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2022.03.29 |
Level 2 [3차] 압축 <2018 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2022.03.28 |
Level 2 [3차] 방금그곡 <2018 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2022.03.25 |