큐의 처음과 끝이 연결되어 있는, 원형 큐
를 적용하여 해결할 수 있다.
그림으로 설명하자면, K-1의 주기로 start와 target index가 회전한다. 인덱스의 회전은 인덱스에 k-1을 더해준 다음 그 사이클의 큐의 길이만큼 나머지 연산을 해주면 쉽게 구할 수 있다.
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
queue = [i for i in range(1, n+1)]
res = []
idx = k - 1
while queue:
if idx >= len(queue):
idx = idx%len(queue)
res.append(queue[idx])
del queue[idx]
idx += k - 1
print("<", end="")
print(", ".join(map(str, res)), end="")
print(">")