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

2022. 8. 7. 16:38· Koala - 7기/코딩테스트 준비 스터디

2346번: 풍선 터뜨리기 (acmicpc.net)

 

2346번: 풍선 터뜨리기

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

www.acmicpc.net


문제 해석

N개의 풍선이 원형으로 놓여있고 안에는 숫자가 적혀있다.
풍선을 터뜨린 후 안의 숫자만큼 이동 후 다시 풍선을 터뜨리는 식으로 진행된다.


코드


문제 풀이

원형이기 때문에 앞뒤로 빼고 넣기 위해 자료구조로 덱을 사용하였다.

풍선 번호를 나타내는 덱과 풍선 안의 숫자를 나타내는 덱을 따로 que와 paper의 이름으로 선언해주었다.
처음 for문을 통해 덱에 알맞은 숫자들은 넣어 주고 arr는 터진 풍선 번호를 넣기 위해 초기화 해주었다.

그리고 1번 풍선을 터뜨려 숫자는 K에 넣어주고 번호는 arr에 넣어준다.
그런 다음 que가 빌때까지 while문을 돌게 되는데 K가 양수면 앞으로 이동해야하므로 앞쪽을 pop해서 뒤로 넣어주고 K에서 1을 빼주게 된다. K가 음수면 반대로 이동해야하므로 뒷쪽을 pop해서 맨앞에 넣어주었다.
만약 K가 0이나 1이 되면 다 이동했다는 것이므로 다시 풍선을 터뜨려 번호는 arr에 저장, 숫자는 K에 넣어주고 이것을 반복한다.
여기서 음수일때와 양수일때 조건이 0과 1로 다른 것은 풍선을 터뜨릴때 pop을 시키면서 바로 한칸이 이동하므로 다음과 같이 설정하였다.

마지막으로 arr을 출력한다.

저작자표시 (새창열림)

'Koala - 7기 > 코딩테스트 준비 스터디' 카테고리의 다른 글

[백준/python] 1158번 요세푸스 문제  (0) 2022.08.07
[백준 / Python] 2164번 카드2  (0) 2022.08.07
[백준/JAVA] 11003 최솟값찾기  (0) 2022.08.06
[백준/C++] 2164 카드 2  (0) 2022.08.05
[백준/C++] 1874번 스택 수열  (0) 2022.08.04
'Koala - 7기/코딩테스트 준비 스터디' 카테고리의 다른 글
  • [백준/python] 1158번 요세푸스 문제
  • [백준 / Python] 2164번 카드2
  • [백준/JAVA] 11003 최솟값찾기
  • [백준/C++] 2164 카드 2
KauKoala
KauKoala
항공대 알고리즘 동아리 Koala 🥰
KauKoala
Koala
KauKoala
전체
오늘
어제
  • 분류 전체보기 (1884)
    • 공지 게시판 (10)
    • 정보 게시판 (8)
    • Codeforce (15)
    • acm-icpc (6)
    • Koala - 1기 (16)
    • Koala - 2기 (111)
      • Programming Contest (1)
      • A반 (20)
      • B반 (39)
      • C반 (22)
      • 기초 강의 (18)
    • Koala - 3기 (10)
      • 기초 스터디 (7)
    • Koala - 4기 (67)
    • Koala - 5기 (144)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (68)
    • Koala - 6기 (102)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (25)
      • 모의 테스트 스터디 (1)
    • Koala - 7기 (167)
      • 기초 알고리즘 스터디 (97)
      • 코딩테스트 준비 스터디 (68)
      • 모의 테스트 스터디 (1)
    • Koala - 8기 (44)
      • 기초 알고리즘 스터디 (32)
      • 코딩테스트 준비 스터디 (10)
      • 코드포스 버츄얼 스터디 (0)
      • 프로그래머스 LV2 스터디 (0)
    • Koala - 9기 (205)
      • 기초 알고리즘 스터디 (138)
      • 코딩테스트 준비 스터디 (64)
      • 모의테스트 준비 스터디 (1)
    • Koala - 10기 (117)
      • 기초 알고리즘 스터디 (30)
      • 코딩테스트 준비 스터디 (86)
      • 모의테스트 준비 스터디 (1)
    • Koala - 11기 (151)
      • 기초 알고리즘 스터디 (46)
      • 코딩테스트 준비 스터디 (104)
      • 모의테스트 준비 스터디 (1)
    • Koala - 12기 (86)
      • 기초 알고리즘 스터디 (31)
      • 코딩테스트 준비 스터디 (55)
    • Koala - 13기 (119)
      • 기초 알고리즘 스터디 (52)
      • 코딩테스트 준비 스터디 (67)
    • Koala - 14기 (116)
      • 기초 알고리즘 스터디 (39)
      • 코딩테스트 준비 스터디 (77)
    • Koala - 15기 (138)
      • 기초 알고리즘 스터디 (73)
      • 코딩테스트 준비 스터디 (65)
    • Koala - 16기 (47)
      • 코딩테스트 기초 스터디 (16)
      • 코딩테스트 심화 스터디 (31)
    • Koala - 17기 (62)
      • 코딩테스트 기초 스터디 (15)
      • 코딩테스트 심화 스터디 (47)
    • Koala - 18기 (31)
      • 코딩테스트 기초 스터디 (11)
      • 코딩테스트 심화 스터디 (20)
    • Koala - 19기 (38)
      • 코딩테스트 기초 스터디 (7)
      • 코딩테스트 심화 스터디 (31)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 🐨항공대 알고리즘 학회 Koala 3기 모집
  • 🐨항공대 알고리즘 학회 Koala 2기 모집
  • 소모임 소개

인기 글

태그

  • dfs
  • C++
  • dp
  • 백트래킹
  • 파이썬
  • BFS
  • 백준
  • BOJ

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
KauKoala
[백준/Python] 2346번: 풍선 터뜨리기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.