본문 바로가기

알고리즘

제일 작은 수 제거

프로그래머스 문제

제일 작은 수 제거 하기


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


public class MinNumber {
    public int[] solution(int[] arr) {
        ArrayList<Integer> list = new ArrayList<>();
        if (arr.length == 1) {
            return new int[] {-1};
        }

        int min = arr[0];

        // 제일 작은수 찾는 로직 
        for(int i=0;i<arr.length;i++) {
            list.add(arr[i]);
            if(min > arr[i]) {
                min = arr[i];
            }
        }

        // 제일 작은 수 삭제할 로직
        while(list.contains(min)) {
            int idx = list.indexOf(min);
            list.remove(idx);
        }

        int[] answer = new int[list.size()];
        for(int i=0;i<list.size();i++) {
            answer[i] = list.get(i);
        }
        System.out.println(Arrays.toString(answer));
        return answer;
    }
}

'알고리즘' 카테고리의 다른 글

약수의 합  (0) 2020.10.12
두개뽑아서 더하기  (0) 2020.10.02
정수 제곱근 판별  (0) 2020.09.03
정수내림차순으로 배치하기  (0) 2020.08.30
자연수 뒤집어 배열로 만들기  (0) 2020.08.22