백준/알고리즘 1

백준 1158번: 요세푸스 문제-파이썬(python)

시현한 하루 2022. 10. 1. 02:17
728x90

https://www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)

www.acmicpc.net


1
2
3
4
5
6
7
8
9
10
11
12
13
14
from collections import deque
 
que=deque()
lst=[]
a,b=map(int,input().split())
 
for i in range(a):
  que.append(i+1)
 
for i in range(a):
  que.rotate(-(b-1))
  lst.append(que.popleft())
 
print('<'+','.join(list(map(str,lst)))+'>')
cs

-deque를 활용해서 풀고, pop을 이용하기 위해 반시계방향으로 돌려줄 수 있는 함수인 rotate()를 사용했다

728x90