๋ฌธ์ ๋งํฌ
์ ๊ทผ ๋ฐฉ์1. ์ด์ฒ๋ผ ํ์ ํ๋ ๋ถ๋ถ์ ๋ผ์ด๋ด์ ์์์ ๋ฐฐ์ด order์ ํ์ ํ๋ ์์๋๋ก ์ถ์ถํ์ฌ ์ฝ์ ํ๋ค. (2, 2, 5, 4)
(์ด๋์๋ถํฐ์ธ์ง๋ ์ค์ํ์ง ์์ง๋ง ์ด์ด์ง๋๋ก ๋ง๋ค์ด์ผํจ.)
๊ทธ๋ฆฌ๊ณ order์ ์ ์ผ ์์ ์์๋ฅผ ์ ์ผ ๋ค๋ก ๋ณด๋ด๋ฉด ์์ ์ฒ๋ผ ๋์๊ฐ๋ค.
order = [1,2,3,4,5,6] order.push(order.shift()) console.log(order) // [2, 3, 4, 5, 6, 1]โ
์๋ฆฌ๋ order.shift()๋ ์ ์ผ ์ ์์๋ฅผ ๋ผ์ด์ returnํ๋๋ฐ, ์ด๋ฅผ order.push()ํ์ฌ ์ ์ผ ๋ค์ ์ฝ์ ํ ๊ฒ์ด๋ค.
๋๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ์ผ ๋ค์ ์์๋ฅผ ์ ์ผ ์์ผ๋ก ๋ณด๋ผ ์๋ ์๋ค.order = [1,2,3,4,5,6] order.unshift(order.pop()) console.log(order) // [6, 1, 2, 3, 4, 5]
์ ์ผ ๋ค์ ์์๋ฅผ ๋ผ์ด๋ด์ด ์ ์ผ ์์ ์ฝ์ ํ์๋ค.
2. ์์ ์ถ์ถํ order๋ฅผ ํ์ ํ ๋ค, ๋ค์ ์์ํ๋ก ๋๋ ค๋๋๋ค.matrix[row][col1-1] = order.shift()
order.shift()๊ฐ ์ ์ผ ์์์๋ฅผ ๋ผ์ด return ํ๋ฏ๋ก ํ์ ํ ์์๋ค์ด ์ ์๋ฆฌ๋ก ๋์๊ฐ๊ฒ ๋๋ค.
function solution(rows, columns, queries) {
let answer = []
let matrix = new Array(rows);
for (let row = 0; row < rows; row++) matrix[row] = new Array(columns);
for (let row = 0; row < rows; row++){
for (let col = 0; col < columns; col++){
matrix[row][col] = (columns * row) + col + 1;
}
}
queries.forEach((query) => {
let order = [];
const [row1, col1, row2, col2] = query;
for(let row = row1; row < row2; row++) order.push(matrix[row][col1-1])
for(let col = col1; col < col2; col++) order.push(matrix[row2-1][col])
for(let row = row2; row > row1; row--) order.push(matrix[row-2][col2-1])
for(let col = col2; col > col1; col--) order.push(matrix[row1-1][col-2])
order.push(order.shift());
answer.push(Math.min(...order))
for(let row = row1; row < row2; row++) matrix[row][col1-1] = order.shift()
for(let col = col1; col < col2; col++) matrix[row2-1][col] = order.shift()
for(let row = row2; row > row1; row--) matrix[row-2][col2-1] = order.shift()
for(let col = col2; col > col1; col--) matrix[row1-1][col-2] = order.shift()
})
return answer
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์ฝ์์ ๊ฐ์์ ๋ง์ (77884) (0) | 2022.05.04 |
---|---|
[Javascript] ์์ฃผํ์ง ๋ชปํ ์ ์ (42576) (0) | 2022.05.03 |
[Javascript] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ (12973) (0) | 2022.05.02 |
[Javascript] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธ (81302) (0) | 2022.05.01 |
[Javascript] ํฐ์ผ๋ชฌ (1845) (0) | 2022.04.30 |