반응형

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

 

2346번: 풍선 터뜨리기

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

www.acmicpc.net

 

 

 

deque.rotate() 즉, 로테이트 메서드를 사용할 수 있는지 체크하는 문제이다.

구현 + 시간초과

 

from collections import deque

N = int(input())
queue = deque(list(enumerate(map(int, input().split()))))
ans = []

while queue:
    index, num =  queue.popleft()
    ans.append(index + 1)
    if num > 0:
        queue.rotate(-(num-1))
    else:
        queue.rotate(-num)
print(*ans)
728x90
반응형
컴공편입생 공부일기