https://school.programmers.co.kr/learn/courses/30/lessons/131704
코딩테스트 연습 > 연습문제 > 택배상자
난이도: LEVEL2
정답 코드
import java.util.*;
import java.util.stream.*;
class Solution {
public int solution(int[] order) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
int cur = 1; // 어차피 컨테이너 벨트에는 1 ~ n 순서로 들어있음
int cnt = 0;
while(cnt < order.length){
int target = order[cnt++];
if(cur <= target){
while(cur != target){
stack.push(cur++);
}
cur++;
answer++;
}
else{ // cur > target 이라면 이미 컨테이너 벨트에서 보조 컨테이너 벨트로 이동 상태
if(stack.isEmpty() || stack.peek() != target) break;
else{
answer++;
stack.pop();
}
}
}
return answer;
}
}
'Algorithm > Programmers Java' 카테고리의 다른 글
[JAVA] 프로그래머스 LEVEL2 [3차] n진수 게임 (0) | 2024.09.29 |
---|---|
[JAVA] 프로그래머스 LEVEL2 삼각 달팽이 (1) | 2024.09.28 |
[JAVA] 프로그래머스 LEVEL2 테이블 해시 함수 (1) | 2024.09.28 |
[JAVA] 프로그래머스 LEVEL3 표 병합 (1) | 2024.09.27 |
[JAVA] 프로그래머스 LEVEL3 인사고과 (0) | 2024.09.26 |