문제설명
- 게임 화면은 NxN 크기, 위쪽에 크레인, 오른쪽에 바구니
- 1x1 크기의 격자에 인형 하나가 차지하며 격자의 가장 아래 칸부터 쌓여있음
- 인형의 종류는 다양함
- 크레인으로 집어올린 인형들은 바구니의 가장 아래 칸부터 순서대로 쌓여짐
- 바구니에서 같은 종류의 인형이 연속으로 쌓이면 두 인형은 사라지게 됨
- 크레인 작동 시 인형이 집어지지 않는 경우는 없으나 인형이 없을 경우 아무런 일도 일어나지 않음
- 격자의 상태가 담긴 2차원 배열 board, 크레인 작동 위치가 담긴 배열 moves
- 크레인을 모두 작동시킨 후 사라진 인형의 개수 구하기

제한사항
- 2차원 배열 board의 크기는 5x5이상 30x30이하
- board의 각 칸에는 0이상 100이하 정수가 담겨있음
- 0은 빈칸, 1~00은 각기 다른 인형이며 같은 숫자는 같은 종류의 인형
- moves 배열의 크기는 1이상 1,000이하
- moves 배열의 각 원소들의 값은 1이상이며 board 배열의 가로 크기 이하인 자연수
풀이
function solution(board, moves) {
let bucket = [];
let count = 0;
let check;
for(let i=0;i<moves.length;i++){
check = false;
for(let j=0;j<board.length;j++){
if(!check){
if(board[j][moves[i]-1] !== 0){
bucket.push(board[j][moves[i]-1]);
board[j][moves[i]-1] = 0;
check = true;
}
}else
continue;
if(bucket.length>1){
for(let i=0;i<bucket.length;i++){
if(bucket[i] === bucket[i+1]){
bucket.splice(i,2);
++count;
}
}
}
}
}
return count * 2;
}
체크포인트