본문 바로가기
Algorithm/programmers

[JS]programmers 크레인 인형뽑기 게임(js)

by 갈잃자 2022. 9. 20.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


이중 배열의 값을 꺼낼 줄 알아야하고, array에 push pop 을 이용할 줄 알아야한다.

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

  for (var i = 0; i<moves.length; i++) {
    var now = moves[i]-1
    for (var j =0; j< board.length; j++) {
      if (board[j][now] !==0) {
        if (arr[arr.length -1] ===board[j][now]) {
          arr.pop()
          answer+=2
        } else {
          arr.push(board[j][now])
        }
        board[j][now] = 0
        break;
      }
    }
  }
  return answer
}

문제를 풀면서 이런 저런 방법을 접근해 보면서 알게 된 사실들을 작성해 보자면,

  • 이중배열은 python과 동일하게 arr[1][2] 이렇게 접근 가능하다!
  • array에 값을 넣을 땐 push, 값을 뺄땐 pop(단, pop을 이용할땐 가장 마지막의 값이 빠져나가게 된다.)
  • 예를 들어 for문안에 변수의 값을 지정을 해야 한다 가정할 시, var 로 변수를 설정하면 값은 for문 내에서 설정이 이루어 지고, const나 let은 한번 설정한 값이 변하지 않는다.

댓글