알고리즘 문제풀이
풍선 터뜨리기[백준 2346]
wiojfe
2024. 7. 10. 17:14
https://www.acmicpc.net/problem/2346
deque의 rotate를 이용하면 쉽게 문제를 풀면 된다.
from collections import deque
# 입력 처리
n = int(input())
arr = list(map(int, input().split()))
# deque 초기화
que = deque()
for i in range(n):
que.append((i + 1, arr[i]))
ans = []
while que:
idx, move = que.popleft()
ans.append(idx)
if not que:
break
# move가 양수일 때와 음수일 때 이동 처리
if move > 0:
que.rotate(-(move - 1))
else:
que.rotate(-move)
# 결과 출력
print(" ".join(map(str, ans)))