문제
100/100
40분
위치마다 뽑아서 stack에 쌓고 같은 것이면 스택에서 둘다 제거 하고 전부 진행 후 제거한 갯수 리턴
function solution(board, moves) {
let stack = [];
let count=0;
moves.map(val=>{
let value
for(let i=0;i<board.length;i++)
{
if(board[i][val-1] != 0){
value = board[i][val-1]
board[i][val-1] = 0;
break;
}
}
if(value == stack[stack.length-1]) {stack.pop(); count++;}
else if(value != stack[stack.length-1] && value) stack.push(value);
})
return count*2;
}
이때 2개의 오류가 있었다.
value == stack[stack.length-1] 에서 undefined와 undefined는 true이다.
즉 , value에 기본적으로 값 자체는 존재해야 이런 것을 막을 수 있다.
function solution(board, moves) {
let stack = [];
let count=0;
moves.map(val=>{
let value = 0;
for(let i=0;i<board.length;i++)
{
if(board[i][val-1] != 0){
value = board[i][val-1]
board[i][val-1] = 0;
break;
}
}
if(value == stack[stack.length-1]) {stack.pop(); count++;}
else if(value != stack[stack.length-1] && value) stack.push(value);
})
return count*2;
}