반응형
백준 2346번 풍선 터뜨리기
자료구조 / 덱 / 파이썬
[문제]
[과정]
- 풍선 번호와 종이에 적혀있는 수를 매칭해줌
- n-1번만큼 반복:
- result[출력값 배열]에 번호를 저장하고 해당 번호의 종이값(c)을 얻음
- c가 양수일경우 -1를 해주고, 음수일경우에는 별도의 작업x
- 마지막배열의 숫자를 result에 넣고 제출형식에 맞게 출력
[소스코드]
# 풍선 터뜨리기
n = int(input())
num = list(map(int, input().split()))
balloon = [0 for _ in range(n)]
for i in range(n):
balloon[i] = (i+1, num[i])
result = []
cnt = 0
for _ in range(n-1):
result.append(balloon[cnt][0])
c = balloon[cnt][1]
del balloon[cnt]
if c >= 0:
cnt = (cnt + c - 1) % len(balloon)
else:
cnt = (cnt + c) % len(balloon)
result.append(balloon[cnt][0])
for r in result:
print(r, end=' ')
[통과]
제출형식을 리스트 그대로 출력해서 자꾸 틀렸었다.
반응형
'코딩테스트 문제풀이 > beakjoon' 카테고리의 다른 글
[백준] 3190 뱀 (0) | 2021.11.04 |
---|---|
[ICPC] 대학생 프로그래밍 경진대회 (0) | 2021.10.09 |
[백준] 21608 상어 초등학교 (0) | 2021.08.31 |
[백준] 18258 큐 2 (0) | 2021.08.20 |
[백준] 1158 요세푸스 문제 (0) | 2021.08.20 |
댓글