문제


풀이
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
List<Integer> temp = new ArrayList<>();
int i = 0;
while(i < arr.length) {
if(temp.isEmpty()) {
temp.add(arr[i]);
i++;
} else {
int last = temp.get(temp.size() - 1);
if(!temp.isEmpty()) {
if(last < arr[i]) {
temp.add(arr[i]);
i++;
} else if(last >= arr[i]) {
temp.remove(temp.size() - 1);
}
}
}
}
int[] stk = new int[temp.size()];
for(int k = 0; k < temp.size(); k++) {
stk[k] = temp.get(k).intValue();
}
return stk;
}
}
import java.util.*;
class Solution {
public Stack<Integer> solution(int[] arr) {
Stack<Integer> stack = new Stack<>();
int i = 0;
while (i < arr.length) {
if (stack.empty() || stack.peek() < arr[i]) {
stack.push(arr[i]);
i++;
} else if (stack.peek() >= arr[i]) {
stack.pop();
}
}
return stack;
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181918
'Algorithm > Programmers' 카테고리의 다른 글
| [Programmers] Lv.0 / 주사위 게임 3 / Java (0) | 2023.11.14 |
|---|---|
| [Programmers] Lv.0 / 간단한 논리 연산 / Java (0) | 2023.11.07 |
| [Programmers] Lv.0 / 콜라츠 수열 만들기 / Java (0) | 2023.10.19 |
| [Programmers] Lv.0 / 카운트 업 / Java (0) | 2023.10.19 |
| [Programmers] Lv.0 / 배열 만들기 2 / Java (0) | 2023.10.19 |
댓글