DEV

[javaStudy] 제일 작은 수 제거하기

찻잔속청개구리 2024. 3. 11. 00:27
반응형

인증사진(2024-03-11)

문제

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr) {
        if (arr.length <= 1) {
            // 배열의 길이가 1 이하인 경우 빈 배열 또는 [-1] 반환
            return new int[]{-1};
        }

        // 배열을 복사하여 정렬
        int[] sortedArr = Arrays.copyOf(arr, arr.length);
        Arrays.sort(sortedArr);

        int min = sortedArr[0]; // 가장 작은 수

        // 가장 작은 수를 제외한 배열 생성
        int[] answer = new int[arr.length - 1];
        int index = 0;

        for (int num : arr) {
            if (num != min) {
                answer[index++] = num;
            }
        }

        return answer;
    }
}

 

추가공부

 

배열에서 가장 작은 수를 제거한 새로운 배열을 생성해보자.

함수는 int 배열을 입력으로 받고, int 배열을 반환한다.

주어진 배열의 길이가 1 이하인 경우를 체크하고 그렇다면 -1을 반환한다.

 

int[] sortedArr = Arrays.copyOf(arr, arr.length);

-> 주어진 배열(arr)을 새로운 배열(sortedArr)로 복사하는 Java 메서드를 사용했다.

반응형

'DEV' 카테고리의 다른 글

[pythonStudy] 세균 증식  (1) 2024.03.17
[Nodejs] NodeJS와 NPM 완전히 삭제  (0) 2024.03.12
[pythonStudy] 옷가게 할인 받기  (0) 2024.03.03
[pythonStudy] 양꼬치  (0) 2024.02.25
[javaStudy] 아이스 아메리카노  (0) 2024.02.18