ブリッジトラックアルゴリズム

3971 ワード

function solution(bridge_length, weight, truck_weights) {
    let answer = 0;
    let queue = [];
    let queueSum = 0;
    
    for(let i = 0; i < bridge_length; i++) {
        queue.push(0);
    }
    do {
    queueSum -= queue.pop();
    
    if(truck_weights[0] + queueSum <= weight) {
        let now_truck = truck_weights.shift();
        queue.unshift(now_truck);
        queueSum += now_truck
    } else {
        queue.unshift(0);
    }
    answer++;
    } while(queueSum)
    
    return answer++;
}
プログラミング思考はまだ脳に適応していない.
1級までは理系の問題だったら.
2級からは、考え方そのものを訓練する過程のようだ.