벽돌깨기

https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo&categoryId=AWXRQm6qfL0DFAUo&categoryType=CODE&&&

어려운 문제는 아니다. 방향은 잡았는데, 코드로 구현하는데 오래 걸렸다.

풀이

  1. 구슬 선택 : DFS
  2. 벽돌 깨기 : 재귀

DFS는 다음 그림과 같이 진행한다. 구슬을 쏠 수 있는 칼럼은 0, 1, 2, 3 으로 4개가 있다고 하면,

재귀는 다음 그림과 같이 구현한다. 3을 기준으로 벽돌을 깬다고 하면,

3 기준 동서남북을 체크한다. 3의 동쪽을 깨는 중에, 9가 나오기 때문에, 9 위치에서 다시 재귀 함수를 호출 한다.

Comments