프로그래머스/Lv. 0(코딩 기초 트레이닝)

[프로그래머스 코딩테스트] 뒤에서 5등까지(Java)

Sigfriede 2023. 5. 2. 01:30

  문제 설명

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

 

  제한사항

  • 6 <= num_list의 길이 <= 30
  • 1 <= num_list의 원소 <= 100

 

  입출력 예

num_list result
[12, 4, 15, 46, 38, 1, 14] [1, 4, 12, 14, 15]
import java.util.Arrays;
class Solution {
    public int[] solution(int[] num_list) {
        Arrays.sort(num_list);
        int[] answer = Arrays.copyOf(num_list, 5);
        return answer;
    }
}

  우선 Arrays 클래스의 sort 메소드로 num_list를 오름차순으로 정렬합니다. 이후 Arrays 클래스의 copyOf 메소드로 배열을 복사합니다. copyOf 메소드는 시작 지점은 첫 번째 인덱스로 동일합니다. 종료 지점만 지정해주면 됩니다. 이 코드에서 복사할 배열은 정렬한 num_list입니다. 이를 0번부터 4번 인덱스까지 부분적으로 잘라옴으로써 문제에서 제시하는 가장 작은 5개를 원소로 갖는 배열이 된 것입니다. 이를 answer에 할당합니다.