풀이
function solution(bridge_length,weight,truck_weights){
var bridge = [];
var bridge_weight = 0;
var sec = 0; // 이동 시간
for(var i=0;i<bridge_length;i++){
bridge[i] = 0; //다리길이만큼 bridge 배열에 0 넣기
}
var truck = truck_weights.shift(); //지나갈 트럭 무게
bridge.unshift(truck); // 처음 트럭 추가
bridge.pop();
bridge_weight += truck;
sec++;
while(truck_weights!=0){
bridge_weight -= bridge.pop();
truck = truck_weights.shift();
if(bridge_weight+truck>weight){ //제한 무게 이상으로 올라가려하면
bridge.unshift(0); // 원래 있던 트럭 이동
truck_weights.unshift(truck); //뺐던 트럭 다시 제자리에
sec++;
}else{ //진입 가능할때
bridge.unshift(truck);
sec++;
bridge_weight += truck;
}
}
return sec+bridge_length; //완전히 빠져나가야하므로 bridge_length를 더해줌
}