프로그래머스 뒤에서 5등까지

KIMYEONGJUN·2026년 7월 25일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

정수로 이루어진 리스트 num_list가 주어집니다.
num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

내가 이 문제를 보고 생각해본 부분

Arrays.sort(num_list);는 입력으로 받은 배열 num_list를 오름차순으로 정렬하는 부분이다.
정렬 후에는 작은 값부터 큰 값 순서로 배열이 재배치된다.
int[] answer = new int[5];는 가장 작은 5개를 담기 위한 크기 5의 새로운 배열 answer를 생성하는 것이다.
System.arraycopy(num_list, 0, answer, 0, 5);는 정렬된 num_list의 0번 인덱스부터 5개 요소를 복사하여 answer 배열에 저장하는 기능을 수행한다.
return answer;는 결과값으로 가장 작은 5개 요소를 담은 배열을 반환한다.
main 메서드에서는 Main92 클래스의 인스턴스를 만들고, 테스트 배열을 넣어 solution 메서드를 호출한다.
반환된 배열은 Arrays.toString을 통해 문자열로 변환하여 콘솔에 출력한다.

코드로 구현

import java.util.Arrays;

class Solution {
    public int[] solution(int[] num_list) {
        Arrays.sort(num_list);
        int[] answer = new int[5];
        System.arraycopy(num_list, 0, answer, 0, 5);
        return answer;
    }
}

프로그래머스 코드

package programmers;

import java.util.Arrays;

// 프로그래머스 뒤에서 5등까지
public class Main92 {
    public int[] solution(int[] num_list) {
        Arrays.sort(num_list);
        int[] answer = new int[5];
        System.arraycopy(num_list, 0, answer, 0, 5);
        return answer;
    }

    public static void main(String[] args) {
        Main92 sol = new Main92();

        // 테스트용 입력 배열
        int[] testArr = {12, 4, 15, 46, 38, 1, 14};

        // solution 메서드 호출 결과 저장
        int[] result = sol.solution(testArr);

        // 결과 출력
        System.out.println(Arrays.toString(result));
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글