티스토리 뷰

www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

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

www.acmicpc.net

덱을 이용하는 문제

잊고 있던 덱 기본 문법을 익히기 좋은 문제였다.

import collections
people, n = map(int, input().split())
deq = collections.deque([])
answer = []

for p in range(people):
    deq.append(p+1)

while len(deq) != 0:
    for _ in range(n):
        x = deq.popleft()
        deq.append(x)
    answer.append(deq.pop())
print('<' + ', '.join(map(str,answer)) + '>')

예상치못한 복병이었던 마지막 프린트문. 

list 형태로 되어있던 answer를 정해진 출력 형태대로 바꿔서 출력하자