프로그래머스
나의 풀이
수도코드
- board는 2차원 배열이고, 첫번째 인덱스는 층, 두 번째 인덱스는 라인을 의미한다.
 
- moves는 1차원 배열이고, 각 요소는 라인을 의미한다.
 
- basket 배열은 뽑힌 인형을 담는 배열이다.
 
- cnt는 터져서 사라진 인형의 개수이다.
 
- moves 값에 따라 board를 방문한다. (이중반복문)
- board의 값이 0보다 크고 basket의 마지막 요소와 board의 값이 일치한다면, basket 배열의 마지막 요소를 pop하고 cnt += 2 한다. 
 
- board의 값이 0보다 크고 basket의 마지막 요소와 일치하지 않는다면, basket 배열에 push한다. 
 
- board의 값을 0으로 만들어주고 내부 반복문을 끝낸다.
 
 
- cnt를 리턴한다.
 
function solution(board, moves) {
  const floor = board.length; 
  const basket = []; 
  const cnt = 0;
  
  for(let i=0; i<moves.length; i++){
    for(let j=0; j<floor; j++){
      if(board[j][moves[i]-1]>0){
        if(basket[basket.length-1]===board[j][moves[i]-1]){
          basket.pop();
          cnt += 2;
        }else{
          basket.push(board[j][moves[i]-1);
          break;
        }
      }
    }
  }
  return cnt;
}