문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/12935
- 해결 방법
- 우선 배열에서 최소값을 찾고 최소값을 제외하고 다시 다른 배열에 넣는 것은 번거로우므로 ArrayList를 사용하였다.
만약 길이가 1이면 문제 조건에 의해 [-1]을 반환하였고
아니라면 최소값을 구하여 ArrayList에서 제거한 뒤 배열로 바꾸어 반환하였다.
import java.util.*;
class Solution {
public Integer[] solution(int[] arr) {
if(arr.length==1){ //길이가 1이라면 반환
Integer result [] = new Integer [1];
result[0]=-1;
return result;
}
ArrayList<Integer> num = new ArrayList<>();
int min=99999;
for(int i=0;i<arr.length;i++){ //최소값
num.add(arr[i]);
if(arr[i]<min) min = arr[i];
}
for(int i=0;i<num.size();i++){ //최소값 제거
if(num.get(i)==min) num.remove(i);
}
Integer numArr [] = num.toArray(new Integer[num.size()]); // 다시 배열로
return numArr;
}
}