본문 바로가기
자바스크립트 코딩테스트

프로그래머스 Level 1 - 크레인 인형뽑기 게임 (Javascript)

by 준벨롭 2023. 11. 21.

문제

입출력 예 초기값

 

 

 

답안

function solution(board, moves) {
    var answer = 0;
    // 뽑은 인형을 담을 배열 stack을 만든다.
    let stack = [];
    
    // 빈 배열이 아니면 제일 먼저 있는 값을 스택에 넣고, splice로 그 값을 없앤다.
    for(let i = 0; i < moves.length; i++){
        for(let j = 0; j < board.length; j++){
            if(board[j][moves[i]-1] != 0){
                stack.push(board[j][moves[i]-1]);
                board[j].splice(moves[i]-1,1,0);
                break;
            }
        }
    }
    
    // 스택에서 i번째 값과 i+1 값이 같으면 answer에 1을 더해주고, 그 값을 없앤다.
    // 없앤 후 i를 다시 돌린다.
    for(let i = 0; i < stack.length; i++){
        if(stack[i] == stack[i+1]){
            stack.splice(i,2);
            answer += 2;
            i=-1;
        }
    }
    
    
    return answer;
}

후기

마지막 코드에서 i값을 0으로 만들어서 히든 테스트케이스를 통과하지 못했다.

for문이 돌아가면서 i는 1 증가하기 때문에, i를 -1로 설정해줬다.

 

 

for문 말고 다른걸로 푸는 연습...... keep going......

728x90