if(arr.length==1){
int[] answer ={-1};
return answer;
}
리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하라고 했으므로
만약 arr의 길이가 1이라면 answer 배열에 -1을 채우고 return
int[] answer = new int[arr.length-1];
int min = arr[0];
for (int i= 0; i < arr.length ; i++) {
if(min > arr[i]){
min = arr[i];
}
}
배열의 길이가 1보다 클 때 가장 작은 수를 뺀 길이로 초기화
최소값은 arr의 0번째 인덱스로 지정(기준점)
arr의 길이만큼 순회
만약 최소값이 arr[i]
번째보다 크다면 최소값은 해당 arr[i]
int idx = 0;
for (int i = 0; i < arr.length; i++) {
if(arr[i] == min){
continue;
} answer[idx++] = arr[i];
}
인덱스를 0으로 초기화(반복문 index용)
arr의 길이만큼 순회
만약 arr[i]
값이 최소값이랑 같다면 continue(배열에 넣지 않고 넘어감)
answer 배열의 인덱스 값을 증가시켜 arr에 저장(인덱스의 값을 변화시켜야허므로)
import java.util.Arrays; class Solution { public int[] solution(int[] arr) { if(arr.length==1){ int[] answer ={-1}; return answer; } int[] answer = new int[arr.length-1]; int min = arr[0]; for (int i= 0; i < arr.length ; i++) { if(min > arr[i]){ min = arr[i]; } } int idx = 0; for (int i = 0; i < arr.length; i++) { if(arr[i] == min){ continue; } answer[idx++] = arr[i]; } return answer; } }