class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
return answer;
}
}
class Solution {
public int[] solution(int[] arr) {
// 배열 arr의 길이가 1인 경우(= 빈 배열인 경우) -1을 return
if (arr.length == 1) {
int[] answer = {-1};
return answer;
} else {
// 배열 arr의 길이가 1보다 큰 경우(= 배열 길이가 1이 아닌 경우, arr.length에서 -1을 하면 arr.length == 1 인 경우와는 반대 조건)(최소값을 빼서 저장하면 arr.length - 1) (주어진 배열에서 가장 작은 수를 뺀 길이로 초기화)(총 4개의 배열에서 3개의 배열만 남겨둠. 결론적으로 return 해야할 것은 최소값을 뺀 나머지 배열이므로.)
int[] answer = new int[arr.length - 1];
// 가장 작은 수 구하기(최소값을 뺀 나머지 배열이 조건에 부합한지 여기의 최소값으로 판단하기 위함)
// min을 선언해서 기준을 정함)
int min = arr[0];
// min 과 arr[i] 中 더 작은 값(= 배열에서 가장 작은 값)을 찾음
for (int i = 0; i < arr.length; i++) {
min = Math.min(min, arr[i]);
}
// 가장 작은 값을 구하고 남은 값들을 answer에 저장하기 위함
int index = 0;
for(int i = 0; i < arr.length; i++) {
// 최소값 min이 arr[i]와 같다면, continue로 인해 for문으로 돌아가고(= 배열에 넣지않고 넘어감)
if (min == arr[i]) {
continue;
// 같지 않다면, answer에 값을 넣어주고, 다음 값으로 간다
} else {
answer[index] = arr[i];
index++;
}
}
return answer;
}
}
}