[프로그래머스] 크레인 인형뽑기 게임

jun5e00·2021년 3월 14일
0

알고리즘

목록 보기
2/6

일주일에 1~2개씩 하려고 했지만 1개를 해버렸다,,

알고리즘

오늘 풀어본 문제는 크레인 인형뽑기 게임

생각하기

dolls 라는 인형을 담을 배열을 만들었다. moves의 길이만큼 board 배열을 가로로 순회하면서 해당 칸이 0이 아니고 인형을 뽑았는지 여부를 확인하기 위한 choiceCnt가 0인 경우에만 작업을 수행했다. 인형을 터뜨리지 않아도 되는 경우에는 바로 dolls에 푸시했고, 아닌 경우에는 answer를 2만큼 증가시키고

코드

function solution(board, moves) {
  var answer = 0;
  let dolls = [];

  for (let i = 0; i < moves.length; i++) {
    let choiceCnt = 0;
    for (let j = 0; j < board.length; j++) {
      if (board[j][moves[i] - 1] !== 0 && choiceCnt === 0) {
        if (dolls[dolls.length - 1] !== board[j][moves[i] - 1]) {
          dolls.push(board[j][moves[i] - 1]);
        } else {
          answer += 2;
          dolls.pop();
        }
        board[j][moves[i] - 1] = 0;
        choiceCnt++;
      }
    }
  }
  return answer;
}

화이팅 ~!~! 일주일에 2개는 하자,,,
다른 공부한것도 올리면서 정리해야겠다~!~!~!

profile
공부 일기장

0개의 댓글