자바 초급문제로 맨땅에 해딩하기

자바 초급문제 30. 제일 작은 수 제거하기

Jungsoomin :) 2020. 5. 11. 22:16

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12935)

자바 초급문제의 제일 작은 수 제거하기 이다.

 

 

기존의 배열을 List에 저장하고 배열을 sort하여 가장 작은 값을 얻어낸 후 

해당 수를 찾으면 list.remove로 제거한다. 일단 컬렉션의 사이즈가 1이라면 -1을 리턴해야함으로 if문으로 넘겼다.

 

아쉽다는 생각이든다. 더 깔끔하게 처리하고 싶어서 다시금 건드려보려고 하는 중이다.

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.*;
 
class Solution {
    public int[] solution(int[] arr) {
        int [] answer= {};
        int check=0;
        List<Integer> list = new ArrayList<Integer>();
        for(int i : arr) {list.add(i);}
        Arrays.sort(arr);
        int firstNo = arr[0];
        
        if(list.size()>1){
        for(int i=0; i<list.size();i++) {
            if( list.get(i) == firstNo ) {list.remove(i); }
            answer = new int[list.size()];
            for(int a=0; a<answer.length;a++) {
                answer[a] = list.get(a);
            }        
        }
        }else {answer = new int[1]; answer[0= -1;}
 
    
        return answer;
    }
}
cs