Home 프로그래머스 제일 작은 수 제거하기
Post
Cancel

프로그래머스 제일 작은 수 제거하기

프로그래머스 제일 작은 수 제거하기

풀이

  • 소요 시간 약 7분

내가 푼 2가지 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.*;

class Solution {
    public static int[] solution(int[] arr) {
        ArrayList<Integer> list = new ArrayList<>();
        PriorityQueue<Integer> queue = new PriorityQueue<Integer>();
        
        for(int num : arr){ list.add(num); queue.add(num); }
        
        list.remove(list.indexOf(queue.poll()));
        
        if(list.size() == 0) list.add(-1);
        
        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
    public static int[] solution(int[] arr) {
        int min = arr[0];
        int idx = 0;

        if(arr.length==1) return new int[]{-1};

        int answer[] = new int[arr.length-1];

        for(int i=1; i<arr.length; i++){
            if(arr[i] <= min ){
                min = arr[i];
                idx = i;
            }
        }

        for(int i=0; i<idx; i++) answer[i] = arr[i];
        for(int i=idx+1; i<arr.length; i++) answer[i-1] = arr[i];

        if(answer.length == 0) answer[0] = -1;

        return answer;
    }
}
This post is licensed under CC BY 4.0 by the author.