[LeetCode] 3643. Flip Square Submatrix Vertically

Chobby·어제

LeetCode

목록 보기
938/943

😎풀이

  1. (x, y) 좌표의 k 크기 사각형을 뒤집어야 하기 때문에 예외 처리해야할 사각형의 중심 행 탐색
  2. 각 행을 순회하며 반대편 행의 요소와 교환
  3. 뒤집힌 사각형 행렬 반환
function reverseSubmatrix(grid: number[][], x: number, y: number, k: number): number[][] {
    const mid = Math.floor(k / 2)
    for(let row = 0; row < mid; row++) {
        const curLine = x + row
        const reverseLine = x + k - (row + 1)
        for(let col = y; col < y + k; col++) {
            [grid[curLine][col], grid[reverseLine][col]] = [grid[reverseLine][col], grid[curLine][col]]
        }
    }
    return grid
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글