공장 한 층의 도면이 N×M 격자 floor로 주어집니다. 각 칸의 값은 다음과 같습니다.
0: 신호가 닿아야 하는 작업 구역1: 무선 중계기가 설치된 칸2: 차폐벽 — 신호가 통과하지도, 머무르지도 못함모든 중계기는 동시에 신호를 내보냅니다. 1초가 지날 때마다 신호가 닿은 칸에서 상하좌우로 인접한 작업 구역으로 신호가 퍼집니다. 차폐벽은 뚫지 못하고 돌아가야 합니다.
모든 작업 구역에 신호가 닿는 데 걸리는 시간(초)을 반환하는 solution(floor)를 구현하세요.
0을 반환합니다.-1을 반환합니다
(중계기가 하나도 없는 경우도 여기에 해당합니다).| floor | 반환값 | 설명 |
|---|---|---|
[[1,0,2],[0,0,0],[2,0,0]] |
4 |
오른쪽 아래 구석이 가장 늦게(4초) 닿음 |
[[1,0,0],[2,2,0],[0,0,0]] |
6 |
차폐벽을 크게 돌아가 왼쪽 아래가 6초 |
[[1,2,0],[2,2,0],[0,0,0]] |
-1 |
중계기가 차폐벽에 갇혀 아무 데도 닿지 못함 |
[[1,1],[1,2]] |
0 |
작업 구역이 없음 |
시간 복잡도 목표: O(N×M)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.