코린이의 소소한 공부노트

[LeetCode/Easy] 2373. Largest Local Values in a Matrix 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2373. Largest Local Values in a Matrix

무지맘 2023. 5. 2. 15:46

1. Input

1) int[][] grid

 

2. Output

1) grid3*3행렬의 윈도우로 순회하면서 해당 행렬의 요소 9개 중 가장 큰 값을 저장한 (n-2)*(n-2) 배열을 반환

 

3. Constraint

1) n == grid.length == grid[i].length

2) 3 <= n <= 100

3) 1 <= grid[i][j] <= 100

 

4. Example

Input: grid = [[9,9,8,1],[5,6,2,6],[8,2,6,4],[6,2,2,2]] -> Output: [[9,9],[8,6]]

설명: 다음 그림과 같다.

 

5. Code

1) 첫 코드(2023/05/02)

class Solution {
    public int[][] largestLocal(int[][] grid) {
        int n = grid.length;
        int[][] maxLocal = new int[n-2][n-2];
        for(int i=0 ; i<=n-3 ; i++)
            for(int j=0 ; j<=n-3 ; j++){
                int max = Integer.MIN_VALUE;
                for(int a=i ; a<i+3 ; a++)
                    for(int b=j ; b<j+3 ; b++)
                        if(grid[a][b]>max)
                            max = grid[a][b];
                maxLocal[i][j] = max;
            }
        return maxLocal;
    }
}