다리를 지나는 트럭 https://programmers.co.kr/learn/courses/30/lessons/42583
queue
를 이용해 다리를 직접 구현. pop()
과 unshift()
를 이용해 트럭이 이동하도록 구현.queue
에 있는 트럭들의 합 => reduce
메서드로 구현.비효율적 입니다. queue
로 구현해 O(N^2) 까지는 안갔는 지 통과는 했습니다.
function solution(bridge_length, weight, truck_weights) {
let queue = new Array(bridge_length).fill(0);
let total_weight = 0;
let max_weight = weight;
let sec = 0;
while (true) {
if (truck_weights.length === 0 && queue.every((v) => v === 0)) break;
queue.pop();
queue.unshift(0);
const current_truck_weight = truck_weights[0];
total_weight = queue.reduce((a, b) => a + b);
if (max_weight >= total_weight + current_truck_weight) {
queue[0] = current_truck_weight;
truck_weights.shift();
}
sec++;
}
return sec;
}