import java.util.*;
public class 다리를지나는트럭 {
public int solution(int bridge_length, int weight, int[] truck_weights) {
int answer = 0;
Queue<Integer> q = new LinkedList<>();
int max = 0;
for(int value: truck_weights){
while(true){
if(q.isEmpty()){
q.add(value);
answer++;
max += value;
break;
}else if(q.size() == bridge_length){
max -= q.poll();
}else{
if(max + value > weight){
q.add(0);
answer++;
}else{
q.add(value);
max += value;
answer++;
break;
}
}
}
}
return answer + bridge_length;
}
}
트럭이 정해진 순으로 다리를 건너가는 것이기 때문에 Queue를 이용한다!