[プログラマー][java]削除最小数


質問リンク-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;
           
       }
    }