python algorithm
백준 1158: 오세푸스 문제
jsleee
2024. 5. 30. 23:30
https://www.acmicpc.net/problem/1158
해설 (queue를 이용한 원순열 구현)
from collections import deque
queue = deque()
count = 1
n, k = map(int, input().split())
ans = []
for i in range(n):
queue.append(i + 1)
while queue:
if count != k:
queue.append(queue.popleft())
count += 1
elif count == k:
ans.append(queue.popleft())
count = 1
print('<', end='')
for i in range(len(ans)):
if i == len(ans) - 1:
print(ans[i], end='')
else:
print(ans[i], end=', ')
print('>', end='')