코테

코딩테스트 연습 - 배열 만들기 4

66krap 2024. 1. 5. 00:31
public static int[] exam(int[] arr) {
    ArrayList<Integer> list = new ArrayList<Integer>();
    for (int i = 0; i < arr.length; i+=1) {
        if (list.size() == 0) {
            list.add(arr[i]);
        } else if (list.size() > 0){
            if (list.get(list.size() - 1) >= arr[i]) {
                list.remove(list.size() - 1);
                list.add(arr[i]);
            } else {
                list.add(arr[i]);
            }
        }
    }
    int[] stk = list.stream().mapToInt(i->i).toArray();
    return stk;
}

 

이 코드에서 계속 막혀서 뤼튼 써가면서 수정한거라 더 공부를 많이 해야할것같다.

public static int[] exam(int[] arr) {
    ArrayList<Integer> list = new ArrayList<Integer>();
    for (int i = 0; i < arr.length; i++) {
        if (list.size() == 0 || list.get(list.size() - 1) < arr[i]) {
            list.add(arr[i]);
        } else {
            while (list.size() > 0 && list.get(list.size() - 1) >= arr[i]) {
                list.remove(list.size() - 1);
            }
            list.add(arr[i]);
        }
    }
    int[] stk = list.stream().mapToInt(Integer::intValue).toArray();
    return stk;
}