Coding Test/Programmers
[ST]Programmers - 다리를 지나는 트럭 - Java
HN14
2021. 7. 14. 20:31
https://programmers.co.kr/learn/courses/30/lessons/42583
코딩테스트 연습 - 다리를 지나는 트럭
트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈
programmers.co.kr
스택/큐 문제이다.
큐 자료구조를 사용하여 선입선출(FIFO) 방식으로 풀어보았다.
class Solution {
public int solution(int bridge_length, int weight, int[] truck_weights) {
int answer = 0;
int end = 0;
int sum = 0;
int wait = 0;
int[] start = new int[truck_weights.length];
boolean p = true;
while (p) {
if(answer - start[end] == bridge_length) {
sum -= truck_weights[end];
end++;
}
if(wait<truck_weights.length && sum + truck_weights[wait] <= weight) {
start[wait] = answer;
sum += truck_weights[wait];
wait++;
}
answer++;
if(end == truck_weights.length)
p = false;
}
return answer;
}
}