[프로그래머스] 다리를 지나는 트럭 javascript
[스택/큐] level2 다리를 지나는 트럭 javascript 조건 1. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. 2. 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 제한사항 bridge_length는 1 이상 10,000 이하입니다. weight는 1 이상 10,000 이하입니다. truck_weights의 길이는 1 이상 10,000 이하입니다. 모든 트럭의 무게는 1 이상 weight 이하입니다. 입출력 예 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7] [4,5] [6] 5 [7,4] [5] [6] 6~7 [7,4,5] [6] [] 8 [7,4,5,6] [] [] 코드 /** * @param bridge_length 다리 길이 * @param weight 다리가 버티는 무게(하중) * @param truck_weights 다리를 건널 트럭들의 배열(value:트럭무게) **/ function solution(bridge_length, weight, truck_weights) { let time = 0, //다리를 건너는 시간을 담는 변수 cross_trucks=[], //다리를 건너는 중인 트럭들의 배열({time,weight}, ...) copy_trucks = truck_weights.concat(), //truck_weights의 copy하여 대기트럭 배열로 사용(다리 진입 시 배열에서 제거) bridge_weight = 0; //현재 다리를 건너는 트럭 무게의 총 합(이 변수는 weight값보다 작거나 같아야한다) //경과시간을 나타내는 loop(대기 중인 트럭이 있거나 다리를 건너는 트럭