arr.length
가 1일 경우와 아닐 경우를 나눠서 생각하자answer[0] = -1
answer[]
에 넣기arr.lenght - 1
Math.min()
을 이용하여 for
문 돌면서 최솟값 찾기for
문 돌면서 최솟값 제외한 arr[i] 값 answer[i]에 넣어주기class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
if (arr.length == 1) {
answer = new int[1];
answer[0] = -1;
} else {
answer = new int[arr.length - 1];
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
min = Math.min(min, arr[i]);
}
int idx = 0;
for (int i = 0; i < arr.length; i++) {
if (min == arr[i]) {
continue;
} else {
answer[idx] = arr[i];
idx++;
}
}
}
return answer;
}
}
import java.util.Arrays;
import java.util.stream.Stream;
import java.util.List;
import java.util.ArrayList;
class Solution {
public int[] solution(int[] arr) {
if (arr.length <= 1) return new int[]{ -1 };
int min = Arrays.stream(arr).min().getAsInt();
return Arrays.stream(arr).filter(i -> i != min).toArray();
}
}
앞에서 다 배운 것들이긴한데 막상 문제를 만나면 for문이나 if문 밖에 생각나지 않는 것 같다...