https://programmers.co.kr/learn/courses/30/lessons/42583
스택/큐 문제이다.
큐 자료구조를 사용하여 선입선출(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;
}
}
'Coding Test > Programmers' 카테고리의 다른 글
[ST]Programmers - 위장 - Java (0) | 2021.07.19 |
---|---|
[ST]Programmers - 주식가격 - Java (0) | 2021.07.18 |
[ST]Programmers - 프린터 - Java (0) | 2021.07.12 |
[DK]Programmers - 포켓몬 - C++ (0) | 2021.07.11 |
[DK]Programmers - 문자열 내 마음대로 정렬하기 - C++ (0) | 2021.07.10 |