[프로그래머스] 스택/큐 - 다리를 지나는 트럭(자바)

Rena·2022년 4월 5일
0

알고리즘 문제풀이

목록 보기
24/45
import java.util.LinkedList;
import java.util.Queue;

class Solution {
	public int solution(int bridge_length, int weight, int[] truck_weights) {
		int answer = 0;
		int sum = 0;
		int time = 0;
		int idx = 0;
		Queue<Integer> q = new LinkedList();

		while(true) {
			if(idx == truck_weights.length) break;
			if(q.size() == bridge_length) {
				sum -= q.poll();
			}
			else if(sum + truck_weights[idx] > weight) {
				q.add(0);
				time++;
			} else {
				q.add(truck_weights[idx]);
				sum += truck_weights[idx];
				time++;
				idx++;
			}
		}
		return time + bridge_length;
	}

	public static void main(String[] args) {
		int bridge_length = 2;
		int weight = 10;
		int[] truck_weights = {7,4,5,6};
		Solution st = new Solution();
		System.out.println(st.solution(bridge_length,weight,truck_weights));

	}
}
profile
일을 사랑하고 싶은 개발자

0개의 댓글