[programmers] 스택/큐_다리를 지나는 트럭

2025. 2. 19. 23:42코딩테스트

https://school.programmers.co.kr/learn/courses/30/lessons/42583

 

import java.util.*;

class Solution {
    public int solution(int bridge_length, int weight, int[] truck_weights) {
        int answer = 0; 
        Queue<Integer> bridge = new LinkedList<>();
        int totalWeight = 0; 
        for (int truck : truck_weights) {
            while (true) {
                if (bridge.size() == bridge_length) {
                    totalWeight -= bridge.poll();
                }
                if (totalWeight + truck <= weight) {
                    bridge.offer(truck);
                    totalWeight += truck;
                    answer++;  
                    break;
                } else {
                    bridge.offer(0);
                    answer++;
                }
            }
        }
        return answer + bridge_length;
    }
}