본문 바로가기
코딩테스트

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

by CuckooBird 2023. 2. 3.

백준 실버3 2346 풍선 터뜨리기 python

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

 

2346번: 풍선 터뜨리기

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

www.acmicpc.net


코드

맞았습니다가 뜬 코드입니다. - 메모리 31256KB | 시간 40ms | 코드 길이 428B

import sys
N = int(sys.stdin.readline().rstrip())
balloon = list(map(int, sys.stdin.readline().rstrip().split()))
num = [i for i in range(1, N+1)]
idx = 0
pop_li = list()
temp = balloon.pop(idx)
pop_li.append(num.pop(idx))
while balloon:
    if temp > 0:
        idx = (idx + (temp-1)) % len(balloon)
    else:
        idx = (idx + temp) % len(balloon)
    temp = balloon.pop(idx)
    pop_li.append(num.pop(idx))
print(*pop_li)

Search 🔍

  • 처음엔 balloon리스트는 두고 num리스트만 pop하려고 했는데 잘 안돼서 찾아봤습니다.
    둘다 pop하는 거였네요..