
😎풀이
- 행의 높이를
m으로 정의
- 열의 너비를
n으로 정의
grid를 평탄화
3-1. grid를 순회하며 마지막 요소를 배열의 첫 요소로 이동
m * n 크기의 2차원 행렬 matrix 정의
4-1. matrix를 순회하며 각 요소를 flatten의 요소로 할당
matrix 반환
function shiftGrid(grid: number[][], k: number): number[][] {
const m = grid.length
const n = grid[0].length
const flatten = grid.flat(2)
for(let i = 0; i < k % (m * n); i++) flatten.unshift(flatten.pop())
const matrix = Array.from({ length: m }, () => Array(n).fill(0))
for(let row = 0; row < m; row++) {
for(let col = 0; col < n; col++) {
matrix[row][col] = flatten[row * n + col]
}
}
return matrix
}