본문 바로가기
Study/Coding Test

[백준] 2346 - 풍선 터뜨리기 Python

by 들숨날숨흡 2023. 10. 9.
728x90

https://www.acmicpc.net/problem/2346

 

2346번: 풍선 터뜨리기

1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선

www.acmicpc.net

from collections import deque
import sys

input = sys.stdin.readline

N = int(input())
ballons = deque(enumerate(map(int, input().split(" "))))
answer = list()

# print(N)
# print(ballons)

while ballons:
    idx, paper = ballons.popleft()
    answer.append(idx + 1)
    #deque.rotate(-1): 원형 큐를 반시계 방향으로 1칸 회전
    #deque.rotate(1): 원형 큐를 시계방향으로 1칸 회전
    if paper > 0:
        ballons.rotate(-(paper - 1))
    elif paper < 0:
        ballons.rotate(-paper)

print(' '.join(map(str, answer)))
728x90