
😎풀이
- 행의 높이를
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
}