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

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

Sigfriede 2023. 5. 2. 01:40

  문제 설명

  정수로 이루어진 리스트 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, 56, 32, 10] [15, 32, 38, 46, 56]
import java.util.Arrays;
class Solution {
    public int[] solution(int[] num_list) {
        Arrays.sort(num_list);
        int[] answer = Arrays.copyOfRange(num_list, 5, num_list.length);
        return answer;
    }
}

  Arrays 클래스의 sort 메소드를 이용하여 num_list를 오름차순으로 정렬합니다. Arrays 클래스의 copyOfRange 메소드를 이용하여 배열을 원하는 길이만큼 복사합니다. 인자는 각각 복사 배열, 시작 지점, 종료 지점입니다. 문제에서는 가장 작은 5개를 제외한 나머지 원소를 요구하고 있습니다. 따라서 정렬된 원소를 앞에서부터 다섯 개를 제외하고 나머지 원소를 복사하면 될 것입니다. 이에 해당하는 num_list 배열을 5번 인덱스부터 num_list의 길이만큼 복사합니다. 이를 answer에 바로 할당합니다.