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

    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
    
    n = int(input())
    dq = deque(enumerate(map(int, sys.stdin.readline().split())))
    lst = []
    
    while dq:
        index, tmp = dq.popleft()
        lst.append(index+1)
    
        if tmp > 0:
            dq.rotate(-(tmp-1))
        else:
            dq.rotate(-tmp)
    
    for i in lst:
        print(i, end = " ")

    'Algorithm > DataStructure' 카테고리의 다른 글

    [Python] 백준 1874 스택 수열  (0) 2022.07.08
    [Python] 백준 3986 좋은 단어  (0) 2022.07.08
    [Python] 백준 1021 회전하는 큐  (0) 2022.07.08
    [Python] 7785 회사에 있는 사람  (0) 2022.07.06
    [Python] 백준 2164 카드2  (0) 2022.07.05

    댓글