Problem Solving/Programmers
[Level 2] 다리를 지나는 트럭
kmkunk
2022. 4. 6. 11:25
import java.util.*;
class Solution {
public int solution(int bridge_length, int weight, int[] truck_weights) {
int answer = 0;
int sum = 0;
Queue<Integer> queue = new LinkedList<>();
for(int i=0; i<truck_weights.length; i++) {
if(queue.isEmpty()) {
sum += truck_weights[i];
queue.add(truck_weights[i]);
answer++;
continue;
}
while(true) {
if(queue.size()==bridge_length) { sum -= queue.poll(); }
if(sum+truck_weights[i]>weight) {
queue.add(0);
answer++;
} else {
sum += truck_weights[i];
queue.add(truck_weights[i]);
answer++;
break;
}
}
}
return answer+bridge_length;
}
}