最小数を削除


質問する


問題の説明
整数の配列を保存し、arrから最小数の配列を削除する関数を返します.解決策を完了してください.ただし、返される配列が空の配列の場合は、配列に-1を入力して返します.たとえばarrが[4,3,2,1]の場合は[4,3,2]を返し、[10]の場合は[1]を返します.
せいげんじょうけん
arrは長さが1より大きい配列である.
インデックスi,jについて、i≠jの場合、arr[i]≠arr[j]である.
I/O例
arr return
[4,3,2,1][4,3,2]
[10][-1]

コード#コード#

import java.util.ArrayList;

class Solution {
    // 1. 동적 크기 배열을 위한 ArrayList 반환
    public ArrayList<Integer> solution(int[] arr) {
        ArrayList<Integer> answer = new ArrayList<>();
        
        // 2. 배열 내 최솟값 저장 변수.
        int min = Integer.MAX_VALUE;
        
        // 3. 완전탐색을 통한 최솟값 저장.
        for(int i = 0;i<arr.length;i++){
            if(arr[i] < min) min = arr[i];
        }
        
        // 4. 최솟값인 경우를 제외하고 ArrayList의 원소로 삽입.
        for(int i = 0;i<arr.length;i++){
            if(arr[i] == min) continue;
            answer.add(arr[i]);
        }
        
        // 5. 삽입된 원소가 존재하지 않는다면, -1을 삽입.
        if(answer.isEmpty()) answer.add(-1) ;
        
        return answer;
    }
}