정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
2 개의 array list 를 만들어 하나는 삭제용, 또 하나는 가장 작은 숫자를 확인하는 용도로 사용했다.
배열 상태에서 index 를 삭제하고 싶었지만 결국 방법을 찾지 못해서 어쩔 수 없이 이 방법을 선택했다.
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public int[] solution(int[] arr) {
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
if (arr.length == 1) list2.add(-1);
else {
for (int i : arr) list1.add(i);
for (int i : arr) list2.add(i);
Collections.sort(list1);
list2.remove(list1.get(0));
}
return list2.stream().mapToInt(Integer::intValue).toArray();
}
}