문제


풀이
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 | 
										
									
										
									
										
									
										
									
댓글