[프로그래머스] 다리를 지나는 트럭 (javascript)

728x90
반응형

 

function solution(bridge_length, weight, truck_weights) {
    let time=[];
    let cur_time=0;
    let sum=0;
    while(time.length || truck_weights.length){
//         터널에서 나갈 시간이 현재 시간과 같아면 다리 탈출
        if(time.length && time[0].time===cur_time){
            sum-=time[0].weight;
            time.shift();
        }

//        트럭이 더 들어갈 때 
        if(truck_weights.length && sum+truck_weights[0]<=weight){
            sum+=truck_weights[0];
            const truck=truck_weights.shift();
            time.push({time:cur_time+bridge_length,weight:truck});   
        }
        
//         새로운 트럭이 못 들어갈 때 
        else if(time.length){
            cur_time=time[0].time-1;
        }
        // 나머지 새로운 트럭도 못들어가고 시간 점프도 안된다면 cur_time+1
       
        cur_time+=1;
        
        
    }
    
    return cur_time;
}
728x90
반응형
TAGS.

Comments