문제 설명
N × M 크기의 -1(지뢰)과 0(빈칸)으로만 이루어진 지뢰 위치 정보 mines가 주어졌을 때 아래 규칙에 따라 완성된 지뢰 찾기 지도를 반환하는 solution 함수를 작성하시오.
규칙
- 지뢰가 위치한 칸은 -1로 채웁니다.
- 빈칸에는 상하좌우 및 대각선을 포함한 8방향 이웃에 존재하는 지뢰가 몇 개인지 세고, 해당 칸에 그 숫자를 채웁니다.
- 8방향 이웃 중에서 지도를 벗어나는 방향에 대해서는 지뢰가 없다고 간주합니다.
제한 사항
mines는 N M 크기의 이차원 정수 배열입니다.N(mines의 행 개수)은 2 이상 1,000 이하의 자연수입니다.M(mines의 열 개수)은 2 이상 1,000 이하의 자연수입니다.mines의 각 원소는 -1(지뢰) 또는 0(빈칸) 인 정수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | mines | return |
|---|---|---|
| 1 | [[0, -1, 0],[0, 0, 0],[-1, 0, 0]] | [[1, -1, 1],[2, 2, 1],[-1, 1, 0]] |
| 2 | [[-1, -1],[-1, -1]] | [[-1, -1],[-1, -1]] |
| 4 | [[0, 0],[0, 0]] | [[0, 0],[0, 0]] |
1번 테스트케이스 설명
-
위치별 지뢰 찾기 지도의 값은 아래와 같이 계산됩니다.
위치 빈칸 여부 주변 지뢰 위치 지도에 작성되어야 하는 값 (0,0) ✅ (0,1) 1 (0,1) ❌ - -1 (0,2) ✅ (0,1) 1 (1,0) ✅ (0,1), (2,0) 2 (1,1) ✅ (0,1), (2,0) 2 (1,2) ✅ (0,1) 1 (2,0) ❌ - -1 (2,1) ✅ (2,0) 1 (2,2) ✅ - 0 -
따라서 [[1, -1, 1],[2, 2, 1],[-1, 1, 0]] 을 반환해야 합니다.
2번 테스트케이스 설명
-
위치별 지뢰 찾기 지도의 값은 아래와 같이 계산됩니다.
위치 지뢰 여부 주변 지뢰 위치 지도에 작성되어야 하는 값 (0,0) ❌ - -1 (0,1) ❌ - -1 (1,0) ❌ - -1 (1,1) ❌ - -1 -
따라서 [[-1, -1],[-1, -1]] 을 반환해야 합니다.
3번 테스트케이스 설명
-
위치별 지뢰 찾기 지도의 값은 아래와 같이 계산됩니다.
위치 빈 칸 여부 주변 지뢰 위치 지도에 작성되어야 하는 값 (0,0) ✅ - 0 (0,1) ✅ - 0 (1,0) ✅ - 0 (1,1) ✅ - 0 -
따라서 [[0, 0],[0, 0]] 을 반환해야 합니다.