import java.util.LinkedList;
import java.util.Queue;
class Solution {
public int solution(int bridge_length, int weight, int[] truck_weights) {
Queue<Integer> bridge = new LinkedList<>();
for(int i=0; i<bridge_length; i++){
bridge.add(0);
}
int sum = 0;
int time = 0;
for(int truck : truck_weights){
while(sum + truck > weight){
sum -= bridge.poll();
if(sum + truck <= weight) break;
bridge.add(0);
time++;
}
if(bridge.size() == bridge_length) sum -= bridge.poll();
sum += truck;
time++;
bridge.add(truck);
}
return time + bridge_length;
}
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바] 신입사원 교육 (0) | 2023.05.17 |
---|---|
[프로그래머스/자바] 양과 늑대 (0) | 2023.05.16 |
[프로그래머스/자바] 더 크게 합치기 (0) | 2023.05.13 |
[프로그래머스/자바] 배열 비교하기 (0) | 2023.05.13 |
[프로그래머스/자바] 공백으로 구분하기 2 (0) | 2023.05.12 |