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

문제에서 (7,3) -> <3,6,2,7,5,1,4>가 나온다고 하였다.
어떻게 나왔는 지 보자.
7은 N, 사람 수를 의미하고 차례로 N만큼 원을 그리며 앉아있다.

3번째 인원 부터 제거 한다.
그 뒤 3다음 숫자인 4가 시작이 되며 4부터 3번째인 숫자 '6' 제거 된다.

이런 식으로 다음 숫자는 2가 제거되고,
다음은 7, 5, 1, 그리고 4 순으로 제거되어
<3,6,7,5,1,4> 라는 결과가 나온다.
N,K 를 받아서 어떤 순서로 나오는 지 알고리즘을 구현하는 것이 해당 문제
deque의 rotate 함수를 이용하면 수월할 것 같다.
import sys;
from collections import deque
N , K = map(int, sys.stdin.readline().split())
circle = deque([i for i in range(1, N + 1)])
result = []
for _ in range(N):
circle.pop(circle[K])
result.append(circle[K])
circle.rotate(-K)
print(result)
import sys;
from collections import deque
N , K = map(int, sys.stdin.readline().split())
circle = deque([i for i in range(1, N + 1)]) # deque([1,2,3,4,5,6,7])
result = []
for _ in range(N):
circle.rotate(-K+1) # K번쨰 숫자를 맨 앞에 안착시켜준다.
result.append(circle.popleft())
print(str(result).replace('[', '<').replace(']', '>'))