> 기초/코테 연습

TIL-2024.03.23 - 코테연습 - Kakao- 크레인 인형뽑기 게임(1).programmers

Janku 2024. 3. 23. 14:51

 

 

 

 

URL

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

 

 

 

내가 푼 코드: 

const solution = (board, moves) => {
    const N = board.length;
    let newArr = [];
    let result = [];
    let count = 0
    let flag = true;
    for(let i = 0; i < N ; i++ ){
        newArr[i] = new Array(N).fill(-1)
    }

    for (let i = 0; i < board.length; i++) {
        for(let j = 0; j < board.length; j++){
            newArr[j][i]=board[i][j]
        }
    }    for(let i = 0 ; i < moves.length;i++){
        for(let j = 0 ; j < moves.length; j++){
            if(newArr[moves[i]-1][j] === 0) {
                continue;
            }
            const value = newArr[moves[i]-1][j]
            if(value){
                result.push(value)
            }
            newArr[moves[i]-1][j] = 0
            break;
        }
    }
    const deleteDuplicate = (arr) => {
        for (let i = 0; i < arr.length - 1; i++) {
            if (arr[i] === arr[i + 1]) {
                arr.splice(i, 2);
                i--;
                count += 1
            }
        }
        return arr
    }
    const checkDuplicate = (arr) => {
        for (let i = 0; i < arr.length - 1; i++) {
            if (arr[i] === arr[i + 1]) return true
        }
        return false
    }

    while(checkDuplicate(result)){
        result = deleteDuplicate(result)
    }

    return count * 2
};

console.log("result:: ", solution([ [ 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 ]));