프로그래머스 | 크레인 인형뽑기 게임_JS

난이도 : Level. 1
언어 : Javascript
출제 내역 : 2019 카카오 개발자 겨울 인턴십

❓ Question

죠르디는 카카오 캐릭터로 뿌요뿌요 게임을 하고 있습니다.
인형뽑기 툴에 뿌요뿌요 룰을 접목한 게임인데,
캐릭터 두개가 겹치게 되면 캐릭터가 사라져 점수를 얻는 게임입니다.

죠르디가 움직인 걸로 몇점을 얻게 될까요?

📝 My Solution

전체 풀이 코드 👈🏻 클릭시 Github로 이동

function solution(board, moves) {
    var answer = 0;
    let box = [];
      for(let i = 0; i<moves.length; i++) {
        for(let v = 0; v<board.length; v++)
        if (board[v][moves[i]-1] > 0) {
          box.push(board[v][moves[i]-1])
          board[v][moves[i]-1] = 0
          break
        }

board에 들어오는 값이 0인 경우는 비어있는 것을 뜻하기에
반복문을 돌릴때 해당 배열에 값이 0인 경우를 배제해도록
조건문을 걸어 돌려봅니다.

그 이후, 데이터가 0 이상인 것은 뽑아졌다는 것을 인지하기 위해
해당 배열의 값을 0으로 변경해줍니다.

그 후 break를 통해서 더 이상 이 반복문이 진행되지 않도록 합니다

      for (let i = 0; i<box.length; i++) {
           if (box[i] === box[i+1]) {
              answer++
              box.pop(box[i+1])
              box.pop(box[i])
           }
        }
      } 
    return answer*2;
}

한 번의 뽑는 과정이 끝나면
다시 반복문을 이용해 현재 뽑힌 데이터의 숫자를 비교한 뒤
같은 숫자라면 사라지도록 하고, 그 횟수를 answer에 넣어 저장한 뒤,
사라진 데이터의 숫자를 답으로 내야하니 *2를 해서 결과를 냅니다.

결과

지금까지 푼 카카오 중에서는 그나마 제일 수월하게 했던 것 같습니다.
역시나 카카오는 카카오군요

좋은 웹페이지 즐겨찾기