문제 설명
정수로 이루어진 크기의 이차원 배열이 주어집니다. 이 배열에서 모든 크기의 정사각형 부분 배열에서 가운데 원소를 제외한 8개 원소의 합을 구한 뒤, 최댓값과 최솟값을 [최댓값, 최솟값] 형태로 반환하고자 합니다.
예를 들어 입력 배열이 다음과 같을 때:
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]
]
가능한 서브 블록 중 합이 가장 작은 경우와 가장 큰 경우는 아래와 같으며 [88, 48]을 반환해야 합니다.
[
[1, 2, 3],
[5, ., 7],
[9, 10, 11]
]
전체 합 : 48
[
[6, 7, 8],
[10, ., 12],
[14, 15, 16]
]
전체 합 : 88
크기의 직사각형 형태 이차원 정수 배열 array가 주어졌을 때 정사각형에서 가운데 블록이 빠진 서브 블록의 원소 총합 중 최댓값과 최솟값을 구하는 solution 함수를 작성하시오.
제한 사항
-
n,m은 3 이상 1,000 이하의 자연수입니다. -
array의 각 원소는 -10,000 이상 10,000 이하의 정수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | array | return |
|---|---|---|
| 1 | [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] | [88,48] |
| 2 | [[-5,0,2],[4,-1,9],[7,8,-2]] | [23,23] |
| 3 | [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]] | [0,0] |
1번 테스트케이스 설명
- 문제 지문에서 제시된 예시와 동일합니다.
2번 테스트케이스 설명
- 가능한 서브 블록이 하나뿐이며 그 원소의 총합은 23입니다. 따라서
[23,23]을 반환합니다.
3번 테스트케이스 설명
- 모든 원소가 0이므로, 모든 서브 블록의 합도 0입니다. 최대 합과 최소 합 모두 0이 되어
[0,0]을 반환합니다.