출처 | https://www.acmicpc.net/problem/2346
from collections import deque
n = int(input())
que = deque(enumerate(map(int, input().split())))
ans = []
while que:
idx, num = que.popleft()
ans.append(idx+1)
if num > 0:
que.rotate(-(num-1))
else:
que.rotate(-num)
print(' '.join(map(str, ans)))
전체적인 설계 및 방향