[프로그래머스 문제풀이6]크레인 인형뽑기 게임 자바스크립트

매드갈릭레드망고·2021년 9월 14일
0
`function solution(board, moves) {
    var answer = 0;
    const dolls={};
    const queue=[];
    let resultQueue=[];
     
    for(const row of board){
        row.map((value,i)=>{
            if(value===0){
                return
            }
            if(dolls[i+1]===undefined)
               dolls[i+1]=[];
            return dolls[i+1].push(value);
        })
    }
  
    for(const move of moves){
       if(insertDoll(dolls,queue,resultQueue,move,answer))
           answer+=2;
    }
   return answer
}
function insertDoll(dolls,queue,resultQueue,move,answer){
    if(dolls[move].length==0)
        return
    queue.push(dolls[move].shift());
    if(checkQueue(queue))
        return true
    return false 
}
function checkQueue(queue){
   const checkQueue=[...queue];
   const lastDoll=checkQueue.pop();
   const secondLastDoll=checkQueue.pop();
  
   if(lastDoll===secondLastDoll)
     {

         queue.pop();
         queue.pop();
         return true;
     }
    return false 
}

스택과 큐를 이용한 문제이다.
생각하는 건 쉬웠다.
shift(),pop(),push()를 이용하자

0개의 댓글