[백준] 11599. Puyo Puyo

2020. 7. 4. 16:29

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

 

11559번: Puyo Puyo

현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.)

www.acmicpc.net

DFS를 사용한 시뮬레이션 문제.

  • 시뮬레이션 순서
  1. 탐색: DFS를 사용한 타겟 탐색
  2. 삭제: 타겟이 4개이상 모여있으면 터뜨리기
  3. 중력: 터진 타겟들이 있으면 새로운 맵 얻기
  • Points
  1. 연속한 타겟들(모여있는)의 좌표를 기억하기 위한 ArrayList 사용, 탐색을 마친후 항상 ArrayList clear

  2. 모든 맵을 탐색하면서 4개이상 모여있는 그룹이 있으면 그때그때 터뜨려 줌, 중력으로 인해 밑으로 떨어지게하는건 이후에 구현하므로, 단순히 해당좌표를 '.'으로 치환하면됨

  3. 전체맵을 탐색한 후 터뜨린 전적이 있으면 새로운 맵을 셋팅하고 연쇄 +1, 아닐경우 종료 후 연쇄 반환

  4. 새로운 맵을 얻을때마다 visited 와 ArrayList 초기화

'Algorithm & Data Structure > BOJ' 카테고리의 다른 글

[ 백준] 10819. 차이를 최대로  (0) 2020.08.29
[백준] 2979. 트럭 주차  (0) 2020.07.18
[백준] 2503. 숫자 야구  (0) 2020.07.01
[백준] 6679. 싱기한 네자리 숫자  (0) 2020.06.25
[백준] 1547. 공  (0) 2020.06.23

+ Recent posts