본문 바로가기

verdantjuly/코딩테스트

프로그래머스 코딩테스트 연습 : 제일 작은 수 제거하기 (20240311, java)

728x90

문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12935

나의 풀이 FAIL 

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        int[] origin = arr.clone();
        Arrays.sort(arr);
        List <Integer> list = Arrays.asList(origin).remove(Integer.valueOf(arr[0]));
        int[] minus = {-1};
        return arr.length == 0 ? minus : list;
    }
}

다른 사람의 풀이

 

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        if (arr.length == 1) {
            return new int[]{-1};
        }
        ArrayList<Integer> arrList = new ArrayList<>();
        for (int i : arr) {
            arrList.add(i);
        }
        arrList.remove(Collections.min(arrList));
        int[] answer = new int[arrList.size()];
        for (int i = 0; i < answer.length; i++) {
            answer[i] = arrList.get(i);
        }
        return answer;
    }
}

소감

자료구조 사용 똑바로 다시 공부!