알고리즘 풀이/프로그래머스

[level1] 프로그래머스 - 제일 작은 수 제거하기(JAVA)

데롱디롱 2021. 8. 31. 17:17
728x90

- 최소값 찾기    => stream이용

Arrays.stream(배열).min().getInt();

- for문을 돌면서 min이 아닌 값을 answer에 넣어준다.

아래 코드는 for문을 돌렸지만, stream을 써서 한 줄에도 가능하다. 
     ex) Arrays.stream(arr).filter(i -> i != min).toArray();

 

 

import java.util.Arrays;

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

        int min = Arrays.stream(arr).min().getAsInt();  // 가장 작은 원소

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

        return answer;
    }
}