NxN의 정사각형의 인형뽑기 기계에서 인형을 뽑아 바구니에 넣은 뒤 바구니에 동일한 인형이 연속으로 쌓일 경우 제거하는 게임
게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요.
board | moves | result |
---|---|---|
[[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]] | [1,5,3,5,1,2,1,4] | 4 |
function solution(board, moves) {
var answer = 0;
let basket = [];
for(const move of moves){
for(let depth = 0; depth < board[move - 1].length; depth++){
if(board[depth][move-1] != 0){
basket.push(board[depth][move-1]);
board[depth][move-1] = 0;
break;
}
}
if(basket.length >= 2){
if(basket[basket.length - 1] === basket[basket.length - 2]){
basket.pop();
basket.pop();
answer += 2;
}
}
}
return answer;
}
move | → | ||||
---|---|---|---|---|---|
depth | 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 |