Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Crossfit
- D1
- BOJ14889
- 스택
- 동적프로그래밍
- 재귀함수
- 1781
- spring boot
- 재귀
- 1로만들기2
- Python
- 백준
- 26008
- dart
- 해시해킹
- Flutter
- DP
- 삼성
- 서울에서경산까지
- 15662
- BOJ
- 15353
- 회전하는큐
- 크로스핏
- 브루트포스
- 그리디
- 4811
- sw expert academy
- 14863
- C++
Archives
- Today
- Total
곧죽어도 콛잉
[BOJ 1158 / Python] 요세푸스 문제 본문
https://www.acmicpc.net/problem/1158
1158번: 요세푸스 문제
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)
www.acmicpc.net
회전하는 큐 문제라고 생각하면 매우 쉬워진다! 그냥 rotate를 사용하면 끝!
다만 파이썬에서 사용하는 출력이 매우 불편했다..... 무조건 줄바꿈이 되는 print는 불편해...
그래서 다른 사람들의 프린트하는 부분의 코드만 봐봤다.
from collections import deque
N, K = map(int, input().split())
dq = deque([i+1 for i in range(N)])
arr = []
while(len(dq)>0):
dq.rotate(-(K-1))
arr.append(dq.popleft())
print('<', end='')
for i in arr[:-1]:
print(i, end=', ')
print(str(arr[-1]) + '>')
print("<", ", ".join(map(str, arr)), ">", sep="")
# 출력하는 부분만
'Coding Test > Python' 카테고리의 다른 글
[프로그래머스 / Python] 프로세스 (1) | 2024.02.27 |
---|---|
[프로그래머스 / Python] 의상 (0) | 2024.02.26 |
[BOJ 26008 / Python] 해시해킹 (0) | 2024.02.26 |
[프로그래머스 / Python] 나누어 떨어지는 숫자 배열 (0) | 2024.02.21 |
[BOJ 10818 / Python] 최소, 최대 (0) | 2024.02.21 |
Comments