Programmers 다리를 지나는 트럭
Updated:
Answer
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
class Solution {
public int solution(int bridge_length, int weight, int[] truck_weights) {
int answer = bridge_length;
Queue<Integer> q = new ConcurrentLinkedQueue<>();
int sum = 0;
for(int t : truck_weights){
while(true){
if(q.isEmpty()){
q.add(t);
sum += t;
answer++;
break;
}else if(q.size() == bridge_length){
sum -= q.poll();
}else if(sum + t > weight){
q.add(0);
answer++;
}else{
q.add(t);
sum += t;
answer++;
break;
}
}
}
return answer;
}
}