티스토리 뷰

import java.util.ArrayList;

class Solution {
    public int[] solution(int[] arr) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        if (arr.length == 1) {
            return new int[]{-1};
        }

        for (int i = 0; i < arr.length ; i++) {
            list.add(arr[i]);
        }

        int min = Integer.MAX_VALUE;
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
                index = i;
            }
        }

        list.remove(index);
        int[] answer = new int[arr.length-1];
        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }

        return answer;
    }
}

- 성공

- 너무 구질구질해 보이는데 깔끔한 방법은 생각이 안났다

 

- 일단 길이가 1이면 바로 -1 리턴

- 최소 인덱스값 찾아서 리스트에서 제거 해주고 다시 배열로 담아주기