

내가 푼 방법
1. 풍선을 [move, num]으로 만들어 준다
2. while 풍선일때 popleft()를 해줘 answer에 num 삽입
3. 만약 풍선이 비어있지 않다면
from collections import deque
n = int(input())
ballons = list(map(int, input().split()))
for i in range(n):
ballons[i] = [ballons[i], i + 1]
print(ballons)
ballons = deque(ballons)
answer = []
while ballons:
move, num = ballons.popleft()
answer.append(num)
if len(ballons) == 0:
break
if move > 0:
for _ in range(move - 1):
ballons.append(ballons.popleft())
elif move < 0:
for _ in range(-move):
ballons.insert(0, ballons.pop())
print(" ".join(map(str, answer)))
지리는 코드
1. queue에는 rotate이라는 기능이있다.
rotate(1)은 오른쪽으로 rotate(-1)은 반대로 회전한다
>>> from collections import deque
>>> test = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> test = deque(test)
>>> test.rotate(2)
>>> result = list(test)
>>> result
[8, 9, 1, 2, 3, 4, 5, 6, 7]
from collections import deque
n = int(input())
ballons = list(map(int, input().split()))
for i in range(n):
ballons[i] = [ballons[i], i + 1]
ballons = deque(ballons)
while ballons:
move, num = ballons.popleft()
print(num)
if len(ballons) == 0:
break
if move > 0:
for _ in range(move - 1):
ballons.rotate(-1)
elif move < 0:
for _ in range(-move):
ballons.rotate(1)