문제
1 번째 시도
문제가 장황해서 어려워 보일 수 있지만, 택배상자의 우선순위 배열을 만들고 우선순위 배열을 탐색하다 부합하는 숫자가 있으면 count하고 없으면 stack에 보관하는 문제이다.
import java.util.*;
class Solution {
public int solution(int[] order) {
int present = 0;
int result = 0;
Stack<Integer> stack = new Stack<>();
int[] priorty = new int[order.length];
for(int i =0; i < priorty.length; i++) {
priorty[order[i]-1] = i;
}
for(int p : priorty) {
if(p == present) {
result++;
present++;
}
else {
stack.push(p);
}
while(!stack.isEmpty() && stack.peek() == present) {
stack.pop();
result++;
present++;
}
}
return result;
}
}
'알고리즘' 카테고리의 다른 글
항해 99 19일차( 신고 결과 받기 / 프로그래머스) (0) | 2024.04.16 |
---|---|
[프로그래머스] 무인도 여행, 자바 (0) | 2024.04.15 |
항해 99 18일차 TIL( 대충 만든 자판 / 프로그래머스 ) (0) | 2024.04.15 |
2개 이하로 다른 비트 / 자바 / 프로그래머스 (0) | 2024.04.14 |
항해 99 17일차 TIL ( JadenCase 문자열 만들기 / 프로그래머스) (0) | 2024.04.14 |