본문 바로가기
백준 알고리즘

파이썬) 백준 알고리즘 | 2346번 : 풍선 터뜨리기

by 코딩새내기_ 2022. 3. 1.

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

 

2346번: 풍선 터뜨리기

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

www.acmicpc.net

백준 2346 '풍선 터뜨리기' 문제입니다.

deque를 이용하였고 deque.rotate함수를 이용하면 됩니다.

하지만 해당 문제에서는 풍선의 위치정보까지 있기 때문에

처음에 입력받을 때 튜플형태로 풍선의 인덱스까지 입력해주었습니다.

import sys
from collections import deque
input = sys.stdin.readline

n = int(input())
q = deque([])
order = list(map(int, input().split()))
for i in range(len(order)):
    q.append((order[i],i+1))
while q:
    a = q.popleft()
    print(a[1])
    if a[0] < 0 :
        q.rotate(-a[0])
    else:
        q.rotate(-a[0]+1)

댓글