์ฃผ์ด์ง 2์ฐจ์ ๋ฐฐ์ด์ ์๊ณ๋ฐฉํฅ์ผ๋ก ํ์ ์์ผ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค
์ฃผ์์ฌํญ : ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ง ๋ง๊ณ ๊ธฐ์กด ๋ฐฐ์ด์ ๋ณ๊ฒฝ์ํค๋ ๋ฐฉํฅ์ผ๋ก ์งํํด์ผํ๋ค.
์ ๊ทผ ๋ฐฉ๋ฒ
ํ๊ฐ์ง ๊ท์น์ ๋ฐ๊ฒฌํ์๋ค.
ํ๋ ฌ์ ๋๊ฐ์ ์ ๊ธฐ์ค์ผ๋ก swapํ ๋ค, ๋ชจ๋ ํ์ ๋ค์ง์ผ๋ฉด ์๊ณ๋ฐฉํฅ์ผ๋ก ํ์ ๋ ํ๋ ฌ์ด ๋ฐํ๋๋ค.
=> ๋๊ฐ์ ๊ธฐ์ค์ผ๋ก swap
=> swapํ ํ๋ ฌ์ row๋ฅผ reverse
์ด๋ฌํ ๊ณผ์ ์ ๊ทธ๋๋ก ์ฝ๋๋ก ๋ณํํ๋ฉด ๋๋ค.
1. ๊ธฐ์กด ๋ฐฐ์ด์ ๋๊ฐ์ ๊ธฐ์ค์ผ๋ก swap
for(let i =0;i<row;i++){
for(let j = i;j<col;j++){
[matrix[i][j],matrix[j][i]] = [matrix[j][i],matrix[i][j]]
}
}โ
2. swapํ ๋ฐฐ์ด์ row๋ฅผ ๊ธฐ์ค์ผ๋ก reverse()
for(i=0;i<row;i++){
matrix[i].reverse();
}
/**
* @param {number[][]} matrix
* @return {void} Do not return anything, modify matrix in-place instead.
*/
var rotate = function(matrix) {
let row = matrix.length;
let col = matrix[0].length;
for(let i =0;i<row;i++){
for(let j = i;j<col;j++){
[matrix[i][j],matrix[j][i]] = [matrix[j][i],matrix[i][j]]
}
}
for(i=0;i<row;i++){
matrix[i].reverse();
}
return matrix;
};