[프로그래머스 레벨 1 JavaScript] '크레인 인형뽑기 게임' 풀이

5287 단어 JavaScriptJavaScript

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/64061

function solution(board, moves) {
  let answer = 0;
  let basket = []; // 인형 담을 배열
  for (let i = 0; i < moves.length; i++) {
    let move = moves[i] - 1; 
    for (let j = 0; j < board.length; j++) {
      let check = board[j][move]; // move값은 고정이므로 board의 열 검사
      if (check !== 0) { // 인형을 찾았다면
        board[j][move] = 0; // 해당 값을 0으로 만들기
        
        // basket의 길이가 0이 아니고 basket 맨뒤 값이 방금 뽑은 인형과 일치하면
        if (basket.length !== 0 && basket[basket.length - 1] === check) { 
          basket.pop(); // basket 맨뒤 인형 제거
          answer += 2;
        } else {
          basket.push(check); // 그렇지 않다면 basket에 인형 넣기
        }
        break; // j를 다시 0부터 시작해야 한다
      }
    }
  }
  return answer;
}

좋은 웹페이지 즐겨찾기