IT/Algorithm

코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십 > 크레인 인형뽑기 게임

프티 2021. 5. 29. 02:20
반응형

풀어보았다!

function solution(board, moves) {
    const box = [];
    const trash = [];
    
    for(let i = 0 ; i < moves.length ; i++){
        for(let j = 0 ; j < board.length ; j++){
            var rowS = board[j][moves[i]-1];//변하는 값이므로 var로 지정
            if(rowS !== 0){
                box.push(rowS);//인형 넣는 곳
                board[j][moves[i]-1] = 0;//인형이 있었던 곳 빈 자리 만들기
                break;//inner 반복문 종료
            }
        }
    }

    for(let k = 0 ; k < box.length ; k++){
        if(box[k] === box[k-1]){
            trash.push(box.splice(k,1));
            //겹치면 box에서 지우고 하나씩 trash에 넣기
            trash.push(box.splice(k-1,1))
            k--;//반복문 순환을 위해 뺀만큼 K 감소
            k--;
        }
    }

    return trash.length;//사라진 인형 수 반환
}

solution(board,moves);
//board의 좌측 상단부터 0,0~우측하단까지 n,n
//처음 moves = m일때 board[0][m] 값 추출
//값이 0이라면 board[1][m]값 추출 .. 반복
//새로운 배열 box = []에 저장
//같은 값이 붙어 있으면 두 값을 다른 배열 trash = []에 저장
//trash.length 리턴

 

 

레벨1이지만 기분은 좋다!

 

출처)

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

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

 

반응형