먼저 문제를 이해해보자.
# 2346
import sys
from collections import deque
n = int(input())
# enumerate를 사용하면 입력한 값 앞에 인덱스 번호를 붙여서 tuple 형태로 바꿔줌
lst = deque(enumerate(map(int, sys.stdin.readline().split())))
ans = []
while lst:
idx, i = lst.popleft()
ans.append(idx + 1)
if i > 0:
lst.rotate(-(i-1))
else:
lst.rotate(-i)
for j in ans:
print(j, end= ' ')
위 문제를 처음 풀때는 lotate()를 알지 못해서 계속 런타임에러가 발생했다. 이후 deque에서 활용 가능한 lotate() 메서드를 사용해서 풀 수 있었다.
또한 enumerate를 사용하여 입력한 값 앞에 인덱스 번호를 붙여서 tuple 형태로 바꿔줌으로써 문제를 더 수월하게 해결할 수 있었다.