알고리즘 유형 : 덱
풀이 참고 없이 스스로 풀었나요? : O
https://www.acmicpc.net/problem/11866
import sys
from collections import deque
input = sys.stdin.readline
N, K = map(int, input().split())
q = deque([i for i in range(1, N+1)])
result = []
while q:
q.rotate(-1*(K-1))
result.append(q.popleft())
print("<" + ", ".join(map(str, result)) + ">")
풀이 요약
해당 문제는 맨 처음 위치 또는 제거된 위치(마찬가지로 맨 처음 위치와 같음)를 포함하여 K번째에 있는 수를 계속 반복해서 지우는 문제다.
따라서 맨 처음 원소를 지우고 K-1번만큼 왼쪽으로 덱을 rotate하는 것을 끝까지 반복하면 된다.
배운 점, 어려웠던 점