Open hsskey opened 1 month ago
transposed 처리를 새로운 변수배열로 받아 개선한 풀이
function rotateMatrix(m){
const rows = m.length
const cols = m[0].length
//1. transpose
const transposed = Array.from({length: cols}, () => new Array(rows));
for (let i = 0; i < rows; i++) {
for (let j = 0; j < cols; j++) {
transposed[j][i] = m[i][j];
}
}
//2. reverse
for(let row of transposed){
}
return transposed;
}
console.log(rotateMatrix([[1,2,3],[4,5,6],[7,8,9]]),
rotateMatrix([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]));
Rotate metrix
N x N 행렬로 표현된 이미지를 90도 회전시키는 메서드를 작성하라. 각 픽셀은 4바이트로 표현되며, 부가적인 행렬을 사용하지 않고 해결해야 한다.
📝 제약조건
💡 예시
[[1,2,3],[4,5,6],[7,8,9]]
[[7,4,1],[8,5,2],[9,6,3]]
[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
[[13,9,5,1],[14,10,6,2],[15,11,7,3],[16,12,8,4]]
문제 해결 과정
Step 1: 문제 이해하기
Step 2: 접근 방법
Step 3: 코드 설계
Step 4: 코드 구현
Step 5: 문제풀이 형상화
전치 (transpose) 과정:
각 행 뒤집기:
이 방법을 통해 추가 메모리 사용 없이 효율적으로 행렬을 90도 회전시킬 수 있습니다.