https://programmers.co.kr/learn/courses/30/lessons/64061
//me 2020
function solution(board, moves) {
var container = [];
var count = 0;
// 인형 꺼내기
for(var i=0; i<moves.length; i++){
for(var j=0; j<board.length; j++){
if(board[j][moves[i]-1] !== 0){ // [moves[i]-1]는 board의 두번째 인덱스
if(container[container.length-1] ===board[j][moves[i]-1]){ // 앞의 숫자(인형)와 같으면 pop
container.pop();
count = count + 2;
board[j][moves[i]-1] = 0; // 인형 뽑은 경우의 숫자는 0으로 대체
break;
}else{ // 앞의 숫자(인형)와 다르면 push
container.push(board[j][moves[i]-1]);
board[j][moves[i]-1] = 0; // 인형 뽑은 경우의 숫자는 0으로 대체
break;
}
}
}
}
return count;
}
// me 2021
function solution(board, moves){
const answer = 0;
const selected = [];
// selected
for(let i=0; i<moves.length; i++){
let index=moves[i]-1;
for(let j=0; j<board.length; j++){
if(board[j][index] !== 0){
selected.push(board[j][index]);
board[j][index] = 0;
break;
}
}
}
console.log(selected);
// 연속 숫자
// selected에서 연속된 숫자 count하는 방법을 못찾음..!ㅠㅠ
// selected를 별도로 만들기 전에 stack 개념을 적용했어야?
return answer;
}
// best
오래 걸릴 문제가 아닌데..
board[j]moves[i]-1] = 0; 한 이유가 먼가요??