문제 설명
해결과정
Solution.java
import java.util.*;
class Solution {
public int solution(int[] order) {
// 실을 수 있는 상자의 개수
int answer = 0;
// 컨테이너 벨트에 현재 상자 번호
int deliveryBox = 1;
// 보조 컨테이너 벨트를 만든다 LIFO
LinkedList<Integer> belt = new LinkedList<>();
// for 문 중간 탈출 문
boolean check = true;
// 실어야 하는 상자 번호 배열
for(int box : order) {
if(deliveryBox <= box) {
while(deliveryBox != box+1) {
if(deliveryBox == box) {
answer++;
deliveryBox++;
} else {
belt.addLast(deliveryBox++);
}
}
} else {
if(belt.getLast() == box) {
answer++;
belt.removeLast();
} else {
check = false;
break;
}
}
if(!check) {
break;
}
}
return answer;
}
}
Java
복사