요세푸스 문제(11866)

윤재·2021년 12월 9일
0

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

import sys
from collections import deque

n, k = map(int, sys.stdin.readline().split())

stack = deque([])
answer = []

for i in range(n):
    stack.append(i + 1)

while True:
    stack.rotate(-k + 1)
    answer.append(str(stack.popleft()))
    if len(stack) == 0:
        break

# print('<', end='')
# for i in range(len(answer)):
#     if i == len(answer) - 1:
#         print(answer[i], end='')
#     else:
#         print(answer[i], end=', ')
# print('>')

print('<' + ', '.join(answer) + '>')

# 로직보다 출력에서 더 애먹은 문제다.
# deque.rotate() 만 알면 편하게 풀 수 있는 문제
profile
안 되면 될 때까지

0개의 댓글

관련 채용 정보