7-1 제일 작은 수 제거하기

유태형·2022년 10월 23일
0

알고리즘 - Java

목록 보기
20/32

출처

해당 게시글은 [Java] 어서와! 자료구조 알고리즘은 처음이지?https://programmers.co.kr/learn/courses/13577를 간략히 요약한 게시글이며 모든 출처는 해당강의에 있습니다




문제



문제 분석

최솟값을 제거한 나머지 배열을 출력하는 문제입니다.




풀이

처음 정렬을 해야하는 줄 알고 있었던 것만 제외하면 쉬운 풀이였습니다.
정렬을 시도하는 도중 깨달은 것이 있다면 Collections.reverseOrder()int[]은 불가능하고 Integer[]만 가능하므로 박싱을 진행 한 후 정렬을 해야 합니다.

강의와 저의 풀이가 모두 동일하였습니다.

  1. 배열의 길이가 1이면 [-1]을 반환합니다.
  2. Stream을 이용하여 최솟값을 구합니다.
  3. 최솟값을 필터링하여 나머지 요소들만 반환하였습니다.
import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        //길이가 1이면 빈 배열
        if(arr.length == 1) return new int[] {-1};
        //최솟 값 구하기
        int min = Arrays.stream(arr).min().getAsInt();
        //최솟 값 제거
        int[] answer = Arrays.stream(arr).filter(i -> i != min).toArray();
        
        return answer;
    }
}



Github

https://github.com/ds02168/Study_Algorithm/blob/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/%5BJava%5D%20%EC%96%B4%EC%84%9C%EC%99%80%20%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%80%20%EC%B2%98%EC%9D%8C%EC%9D%B4%EC%A7%80/%ED%8C%8C%ED%8A%B87.Sort(%EC%A0%95%EB%A0%AC)/%EC%A0%9C%EC%9D%BC_%EC%9E%91%EC%9D%80_%EC%88%98_%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B8%B0.java

profile
오늘도 내일도 화이팅!

0개의 댓글