[LeetCode] 2373. Largest Local Values in a Matrix

Chobby·2025년 10월 27일
1

LeetCode

목록 보기
722/760

😎풀이

  1. 가장자리를 제외한 grid 순회
    1-1. 현재 위치를 기준으로 3x3 영역 순회
    1-2. 가장 큰 숫자 탐색
    1-3. 현재 위치의 result 배열에 할당
  2. 각 위치에서 탐색된 최댓값이 모인 결과 배열 반환
function largestLocal(grid: number[][]): number[][] {
    function getNestMaxNum(row: number, col: number) {
        let maxNum = -Infinity
        for(let y = row - 1; y <= row + 1; y++) {
            for(let x = col - 1; x <= col + 1; x++) {
                maxNum = Math.max(maxNum, grid[y][x])
            }
        }
        return maxNum
    }
    const n = grid.length
    const result = Array.from({ length: grid.length - 2 }, () => [])
    for(let row = 1; row < n - 1; row++) {
        for(let col = 1; col < n - 1; col++) {
            result[row - 1][col - 1] = getNestMaxNum(row, col)
        }
    }
    return result
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글