일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 위클리 챌린지
- 그리디
- 수학
- Re
- 프로그래머스
- dfs
- heapq
- Set
- lambda
- divmod
- 파이썬
- 재귀함수
- 다익스트라
- programmers
- Combinations
- 정규식
- 자바
- 이분탐색
- Zip
- backjoon
- BFS
- DateTime
- 카카오
- 동적 계획법
- KAKAO BLIND RECRUITMENT
- java
- 추석맞이 코딩챌린지
- 백준
- 정렬
- python
Archives
- Today
- Total
상상쓰
[프로그래머스] [3차] n진수 게임 본문
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
'Coding Test' 카테고리의 다른 글
[백준] 큰 수 A+B (0) | 2021.09.08 |
---|---|
[프로그래머스] 6주차_복서 정렬하기 (0) | 2021.09.06 |
[프로그래머스] [3차] 파일명 정렬 (0) | 2021.09.03 |
[프로그래머스] [3차] 압축 (0) | 2021.09.03 |
[프로그래머스] [3차] 방금그곡 (0) | 2021.09.01 |