[프로그래머스] Lv.0 배열 만들기 4.java

hgghfgf·2023년 5월 29일
0

프로그래머스

목록 보기
102/227

배열 만들기 4.java

import java.util.ArrayList;

class Solution {
    public int[] solution(int[] arr) {
        ArrayList<Integer> tmp= new ArrayList();
        
        int i=0;
        while(i<arr.length){
            
            if(tmp.size()==0){
                tmp.add(arr[i]);
                i=i+1;
            }
            else{
                int last=tmp.get(tmp.size()-1);
                if(tmp.size()!=0 && last<arr[i]){
                tmp.add(arr[i]);
                i=i+1;
                }
                else if(tmp.size()!=0 && last>=arr[i]){
                    tmp.remove(tmp.size()-1);
                }
            }
            
        }
        
        int stk[]=new int[tmp.size()];
        for(int k=0;k<tmp.size();k++){
            stk[k]=tmp.get(k).intValue();
        }
        return stk;
    }
}

tmp가 비어있는 경우, arr[i]를 tmp에 추가하고 i를 1 증가시킵니다.
tmp가 비어있지 않은 경우, tmp의 마지막 원소 last와 arr[i]를 비교합니다.
last가 arr[i]보다 작다면, arr[i]를 tmp에 추가하고 i를 1 증가시킵니다.
last가 arr[i]보다 크거나 같다면, tmp의 마지막 원소를 제거합니다.
tmp의 내용을 배열로 변환하여 stk 배열에 저장 한 후 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글