해양 조사팀이 갯벌 지역의 고도 지도를 만들었습니다. heights[r][c]는 r행 c열
칸의 고도(cm)입니다.
조사 시각의 수위 level이 주어지면, 고도가 level 이상인 칸은 물 위로 드러나고
level보다 낮은 칸은 물에 잠깁니다. 드러난 칸들이 상하좌우로 맞닿아 있으면 하나의
구역으로 봅니다(대각선으로만 닿은 것은 이어진 것으로 보지 않습니다).
고도 지도 heights와 수위 level이 주어질 때, 물 위로 드러난 구역의 개수를
반환하는 solution(heights, level) 함수를 작성하세요.
지도가 다음과 같을 때,
3 1 4 4 2
2 1 1 5 1
4 4 2 3 3
1 2 4 1 3| level | 결과 |
|---|---|
3 |
4 |
4 |
3 |
1 |
1 |
6 |
0 |
level = 3 설명: 드러난 칸은 다음 # 자리입니다.
# . # # .
. . . # .
# # . # #
. . # . #왼쪽 위의 (0,0), 오른쪽에서 아래로 이어지는 큰 덩어리, (2,0)-(2,1),
그리고 홀로 떨어진 (3,2)까지 모두 4개입니다.
level = 1 설명: 모든 칸의 고도가 1 이상이라 지도 전체가 하나의 구역이 됩니다.
level = 6 설명: 6cm 이상인 칸이 하나도 없어 구역이 생기지 않습니다.
1 ≤ heights.length, heights[0].length ≤ 3001 ≤ heights[r][c] ≤ 1,000,000,000 (정수)1 ≤ level ≤ 1,000,000,000 (정수)시간 복잡도 목표: O(행 × 열)
공간 복잡도 목표: O(행 × 열)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.