백준 파이썬 2346번

Urchinode·2021년 8월 26일
0

PS

목록 보기
1/14

  1. 풍선 번호를 담을 리스트와 각 풍선의 종이에 적힌 수를 담을 리스트를 준비한다.
  2. 변수 seq가 터트릴 풍선 번호 역할을 한다.
  3. 반복문 시작 - 다 터트릴 때까지 반복
    • seq번째 풍선을 터트린다(pop)
    • 터진 seq번째 풍선의 숫자만큼 이동하도록 seq를 수정한다. 두 경우가 있는데 숫자의 양,음으로 갈린다.
    1. 양수
      다음 seq = 현재 seq + 적힌 숫자 - 1
    2. 음수
      다음 seq = 현재 seq + 적힌 숫자
      주의 할점은 인덱스 범위를 넘지 않게 리스트 크기로 한 번 나눠준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
= int(input())
balloon = [i for i in range(1, N + 1)]
balloon_num = list(map(int, input().split()))
seq = 0  # 1번부터
while True:
    print(balloon[seq], sep=' ')
    balloon.pop(seq)
    step = balloon_num.pop(seq)
    if not balloon: break
    if step > 0:
 
        seq = (seq + step - 1) % len(balloon)
    else:
        seq = (seq + step) % len(balloon)
cs
profile
Road to..

0개의 댓글