게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요.
자세한 설명은 아래의 링크 참고
https://school.programmers.co.kr/learn/courses/30/lessons/64061
function solution(board, moves) {
var bucket = []; // 뽑을 인형을 담을 배열
var answer = 0; // 사라진 인형의 갯수를 count
for(var i=0; i<moves.length; i++){
for(var j=0; j<board.length; j++){
if(board[j][moves[i]-1] != 0){
if(bucket[bucket.length-1]===board[j][moves[i]-1]){
bucket.pop();
answer += 2;
}
else{
bucket.push(board[j][moves[i]-1]);
}
board[j][moves[i]-1] = 0;
break;
}
}
}
return answer;
}
for문을 돌며 moves배열에 주어진 위치에 board배열의 요소가 0인지 아닌지를 판단한다.
만약 0이 아니라면(빼낼 인형이 있다면) bucket배열의 마지막 요소와 현재 뽑은 인형이 같은지를 판단하고
같다면 그 인형을 pop 해주고 answer 변수의값을 +2 해준다,
만약 같지 않다면 그대로 bucket 배열에 넣어주고 board배열에서 인형을 뽑은 자리의 요소를 0으로 초기화해준다.
그리고 내부 for문을 break하고 다음 moves를 실행해준다,