제일 작은 수 제거하기

 

문제 설명

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

 

제한 사항

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

 

문제 풀이

1. 최솟값 int min 을 구한다.  for문을 돌린다. 

2. min과 같지 않은 수들로만 이루어진 배열을 새로 만든다. int[] num = new int[arr.length-1];

import java.util.Arrays;

import static java.util.Arrays.fill;

public class elimination {
    public int[] solution(int[] arr) {
        if(arr.length<=1){
        int[] answer = {-1};
        return answer;
        }

        int min = arr[0];

        for(int i=arr.length-1; i>0; i--){
            if(arr[i]<min){
                min = arr[i];
            }
        }
        System.out.println(min);

        int[] answer = new int[arr.length-1];
        int index=0;
        for(int i=0; i<arr.length;i++){
            if(arr[i]!=min){
            answer[index++]=arr[i];
        }

        }

        return answer;
    }

    public static void main(String[] args) {
        elimination method = new elimination();
        System.out.println(Arrays.toString(method.solution(new int[]{5,6,7,8})));
    }
}

 

+ Recent posts