[코테] 크레인 인형뽑기

function pickDoll(board, move){
    for(let j in board){
        if(board[j][move] !== 0){
            const doll = board[j][move]
            board[j][move] = 0
            return doll
        }
    }
    return 0
}

function solution(board, moves) {
    const stack = []
    let result = 0
    
    for(let i in moves){
        const move = moves[i] - 1
        const doll = pickDoll(board, move)
        const isSameDollInStack = stack.length > 0 && doll === stack[stack.length - 1] 
        
        if(doll){  
            if(isSameDollInStack){
                result += 2
                stack.pop()
            } else {
                stack.push(doll) 
            }
        }
    }
    
    return result
}

일단 코드 자체는 읽기에 괜찮아서 마음에 들기는 하는데,
0으로 채워져 있는 부분들을 먼저 지우고 시작하면 속도가 빨라질 것 같다.
각 줄에서 0이 아닌 애들만 남겨놓으면 괜찮지 않을까 싶다.

좋은 웹페이지 즐겨찾기