[珂苔]クレーンの兄を抽出する

4997 ワード

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じゃない子だけ残しておけばいいはず