๋ฌธ์ ๋งํฌ
์ ๊ทผ ๋ฐฉ๋ฒ
์ฒ์์๋ moves.forEach((el) => board.map((arr) => arr[el-1])) ์ฝ๋๊ฐ ์ธํ๋ฝ๊ธฐ์ ์งํ์ ๋ชจ๋ ๊ฐ์ ธ์์ ์ด๋ฅผ ํ์ฉํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค.
ํ์ง๋ง ๋ฝํ ์ธํ์ ๊ฐ์ 0์ผ๋ก ๋ฐ๊พธ๋ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅํด์ ๋ฐ๋ก ์ธํ ๋ฝ๊ธฐ ํ๋์ ์ฒ๋ฆฌํ๋ ํจ์๋ฅผ ์์ฑํด์
๋ฌธ์ ์ ์ ๊ทผํ์๋ค.
1. moves์ ์ซ์๋ฅผ ๋ฐ์์ corwMachin ํจ์์ board์์ ํด๋น ์ด์ ๊ฐ์ด 0์ด ์๋๋ฉด ์ธํ์ ๊ฐ(doll)์ ์ถ๊ฐ ํ๊ณ returnํ๋ค.
2. ๋ฐ์์จ doll์ basket์ ๋ด๊ณ ๋ง์ฝ ๋ง์ง๋ง์ ๋ด์ doll๊ณผ ํ์ฌ์ doll์ด ๊ฐ์ผ๋ฉด basket์ ๋ด๊ฒจ ์๋ doll์ popํ๋ค.
3. pop์ ํ ๋ ์ธํ์ด 2๊ฐ ์ฌ๋ผ์ง ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๊ณ ๊ฒฐ๊ณผ๊ฐ์ answer += 2๋ฅผ ํ๋ค.
function solution(board, moves) {
var answer = 0;
const basket = [];
moves.forEach((it) => {
const doll = crowMachin(board,it-1);
if(doll){
if(basket[basket.length - 1] === doll){
basket.pop();
answer += 2;
}else{
basket.push(doll)
}
}
})
return answer;
}
const crowMachin = (board, col) => {
for (let i = 0; i<board.length; i++){
if (board[i][col] !== 0){
const doll = board[i][col];
board[i][col] = 0;
return doll;
}
}
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์์ ๋ํ๊ธฐ (76501) (0) | 2022.04.23 |
---|---|
[Javascript] ์๋ ์ซ์ ๋ํ๊ธฐ (86051) (0) | 2022.04.23 |
[Javascript] ํคํจ๋ ๋๋ฅด๊ธฐ(67265) (0) | 2022.04.21 |
[Javascript] ์ ๊ท ์์ด๋ ์ถ์ฒ (72410) (0) | 2022.04.20 |
[Javascript] ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (77484) (0) | 2022.04.20 |