학습
시험

산불 조심

난이도
BEGINNER

문제 설명

가로와 세로의 길이가 n인 n×nn\times n 크기의 지도 정보 mountain이 주어집니다. 지도 정보 mountain은 나무와 바위로만 이루어져 있으며, 현재 시각 t가 0초일 때 mountain의 곳곳에서 동시에 산불이 발생했다고 가정합니다.

산불이 옮겨붙는 과정은 아래와 같습니다.

  • 모든 산불은 1초마다 주변 상, 하, 좌, 우 방향으로 한 칸씩 동시에 옮겨붙습니다.
  • 산불은 나무에는 옮겨붙을 수 있지만, 바위에는 옮겨붙을 수 없습니다.
  • 모든 산불이 더 이상 옮겨붙을 수 없을 때까지 이 과정을 반복합니다.

나무(0), 바위(1), 초기 산불(2)의 위치가 담긴 지도 정보 mountain이 매개변수로 주어질 때, 현재 시각(t=0)으로부터 산불이 모두 옮겨붙는 데까지 걸리는 시간을 반환하는 solution 함수를 작성하시오.


제한 사항

  • mountain는 n×nn \times n 정사각 형태로 주어지며 가로 및 세로 길이는 3 이상 1,000 이하의 자연수입니다.
  • mountain의 모든 원소는 0(나무), 1(바위) 또는 2(초기 산불)로만 이루어져 있습니다.

예시 테스트케이스 설명

테스트케이스 번호 mountain return
1 [[2,1,0,1],[0,1,1,1],[1,0,1,1],[0,2,0,2]] 1
2 [[0,1,0,1,1],[0,0,1,0,2],[0,0,0,0,1],[1,0,0,0,0],[0,0,0,0,0]] 7
3 [[2,1,1,1],[1,1,1,0],[1,1,1,1],[1,1,2,1]] 0

1번 테스트케이스 설명

  • 주어진 매개변수는 t=0인 순간 위와 같으며 1초가 지난 후에 모든 산불이 옮겨붙습니다.

2번 테스트케이스 설명

  • 주어진 매개변수는 t=0인 순간 위와 같으며 7초가 지난 후에 모든 산불이 옮겨붙습니다.

3번 테스트케이스 설명

  • 주어진 초기 상태에서 산불이 더 번질 수 없으므로 0을 반환합니다.