문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/131704

제한 사항

입출력 예

풀이
import java.util.Stack;
class Solution {
public int solution(int[] order) {
int answer = 0, boxCount = 1;
int i = 0;
Stack<Integer> tempStack = new Stack<>();
while (boxCount < order.length + 1) {
if (order[i] == boxCount) {
boxCount++;
answer++;
i++;
}
else if (!tempStack.isEmpty() && order[i] == tempStack.peek()) {
tempStack.pop();
answer++;
i++;
}
else tempStack.push(boxCount++);
}
while (!tempStack.isEmpty() && order[i] == tempStack.pop()) {
answer++;
i++;
}
return answer;
}
}
후기
함정도 없고 솔직한 문제이다. 그냥 문제에서 하라고 한대로만 잘 이해하고 차분히 생각하면 어렵지 않게 풀 수 있다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][Java][Lv. 2] 소수 찾기 (0) | 2024.01.30 |
|---|---|
| [프로그래머스][Java][Lv. 2] 다리를 지나는 트럭 (0) | 2024.01.23 |
| [프로그래머스][Java][Lv. 1] [PCCE 기출문제] 9번 / 이웃한 칸 (0) | 2023.12.27 |
| [프로그래머스][Java][Lv. 2] [PCCP 기출문제] 3번 / 아날로그 시계 (0) | 2023.12.26 |
| [프로그래머스][Java][Lv. 1] [PCCE 기출문제] 10번 / 데이터 분석 (0) | 2023.12.26 |