문제확인
https://programmers.co.kr/learn/courses/30/lessons/64061
문제풀이
function solution(board, moves) {
var basket = [];
let selectedNum = 0;
let result = 0;
moves.forEach((j) => {
for (let i = 0; i < board.length; i++) {
if (board[i][j - 1] !== 0) {
selectedNum = board[i][j - 1];
board[i][j - 1] = 0;
break;
}
}
if (basket[basket.length - 1] === selectedNum) {
basket.pop();
result = result + 2;
} else {
if (selectedNum !== 0) {
basket.push(selectedNum);
}
}
selectedNum = 0;
});
return result;
}
마지막에 selectedNum = 0;을 해줘야 하는 이유
const board = [
[0,0,0,0,0],
[0,0,1,0,3],
[0,2,5,0,1],
[4,2,4,4,2],
[3,5,1,3,1]
]
const moves = [1, 5, 3, 5, 1, 2, 1, 4];
function solution(board, moves) {
const basket = [];
let selectedNum = 0;
let result = 0;
moves.forEach((j) => {
for (let i = 0; i < board.length; i++) {
if (board[i][j - 1] !== 0) {
selectedNum = board[i][j - 1];
board[i][j - 1] = 0;
break;
}
}
if (basket[basket.length - 1] === selectedNum) {
basket.pop();
result = result + 2;
} else {
if (selectedNum !== 0) {
basket.push(selectedNum);
}
}
selectedNum = 0;
});
return result;
}
풀이과정