코딩테스트 연습 - 다리를 지나는 트럭 | 프로그래머스 스쿨 (programmers.co.kr)
import java.util.*;
class Pair {
int truck;
int index;
Pair(int truck, int index){
this.truck = truck;
this.index = index;
}
}
class Solution {
public static void print(Queue<Pair> queue){
for (Pair p : queue){
System.out.print(p.truck + " ");
}
System.out.println();
}
public static int solution(int bridge_length, int weight, int[] truck_weights){
Queue<Pair> queue = new LinkedList<>();
int answer = 0;
int tmp_weight = 0;
for (int i=0;i<bridge_length;i++){
queue.add(new Pair(0, 0));
}
int index = 0;
while (true){
// print(queue);
Pair poll_ = queue.poll();
if (poll_ == null || poll_.index == truck_weights.length){
break;
}
answer++;
tmp_weight -= poll_.truck;
if (index < truck_weights.length){
if (tmp_weight + truck_weights[index] > weight){
queue.add(new Pair(0, 0));
} else {
queue.add(new Pair(truck_weights[index], index));
tmp_weight += truck_weights[index];
index++;
}
}
}
// System.out.println(answer);
return answer;
}
}
'Computer Science > 알고리즘' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 | 올바른 괄호 Java 문제 풀이 (0) | 2023.04.17 |
---|---|
프로그래머스 코딩테스트 연습 | 기능개발 Java 문제 풀이 (0) | 2023.04.16 |
[백준 Java] BOJ 11726 2xn 타일링 Java 문제 풀이 (0) | 2023.03.28 |
백준 Java | 세그먼트 트리 문제 풀이(BOJ 1275번 커피숍2) (0) | 2023.02.12 |
백준 Java | BOJ 2243 사탕상자 (0) | 2023.02.02 |