가오리의 코딩일기

[64061] 크레인 인형뽑기 게임 본문

HTML+CSS+JavaScript/프로그래머스

[64061] 크레인 인형뽑기 게임

류경혜 2022. 6. 17. 23:00

https://programmers.co.kr/learn/courses/30/lessons/64061

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[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

programmers.co.kr

function solution(board, moves) {
  let result = 0;
  let move = 0;
  let basket = [];

  for (let i = 0; i < moves.length; i++) {
    for (let j = 0; j < board.length; j++) {
      if (board[j][moves[i] - 1] !== 0) {
        if (move === board[j][moves[i] - 1]) {
          result += 2;
          if (basket.length > 0) {
            basket.pop();
            move = basket[basket.length - 1];
          } else {
            move = 0;
          }
        } else {
          basket.push(board[j][moves[i] - 1]);
          move = board[j][moves[i] - 1];
        }
        board[j][moves[i] - 1] = 0;
        break;
      }
    }
  }
  return result;
}

→ 바구니 역할을 할 stack에 0을 넣는다 → 아무것도 없으면 오류

→ moves 길이만큼 for문 → 해당 라인에서 뽑기

→ board[j][move-1]이 0이면 비어있으니 그냥 넘어감

→ 0이 아니라면 stack에서 board[j][move-1]이 같은지 비교

→ 같으면 터지기 때문에 pop, result+2

→ 다르면 push

'HTML+CSS+JavaScript > 프로그래머스' 카테고리의 다른 글

[17681] (1차) 비밀지도  (0) 2022.06.19
[17682] 다트 게임  (0) 2022.06.17
[72410] 신규 아이디 추천  (0) 2022.06.16
[42840] 모의고사  (0) 2022.06.16
[42862] 체육복  (0) 2022.06.16