import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
class Solution {
public int[] solution(int[] arr) {
int[] answer;
if(arr.length == 1) {
return new int[] {-1};
}
else {
List<Integer> list = new ArrayList<>();
for(int a : arr) {
list.add(a);
}
list.remove(Collections.min(list));
answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
}
Collections 클래스에서 min 메서드를 활용하여 list에 있는 최소값을 지울 수 있었다.
static 키워드는 특정한 인스턴스를 만들지 않아도 클래스 자체에서 직접 사용할 수 있게 해준다.
예를 들어 Math 클래스에서 sqrt 메서드를 보면 이 메서드는 숫자의 제곱근을 계산해주는데, 이것은 특정한 Math 객체에 속한 것이 아니라 Math 클래스 전체에 속한 것이다. 따라서 static 키워드로 선언되어 있어서 Math 클래스의 인스턴스를 생성하지 않고도 사용할 수 있다.
static은 특정한 객체의 소속이 아니라 클래스 전체에 속해 있는 것을 의미한다. 그래서 객체를 생성하지 않고도 직접 사용할 수 있다.