해당 문제는 여기에서 확인하실 수 있습니다.
주어진 문제를 해결하기 위해서는 먼저 입력된 정수 리스트를 오름차순으로 정렬해야 합니다. 정렬된 리스트에서 가장 작은 다섯 개의 숫자를 제외한 나머지 숫자들을 추출해야 하므로, 정렬이 완료된 후 앞의 다섯 개 원소를 제거하고 남은 숫자들을 새로운 리스트에 담아 반환하면 됩니다.
이를 구현하기 위해, 버블 정렬과 같은 간단한 정렬 알고리즘을 사용할 수 있습니다. 정렬 후 리스트의 6번째 요소부터 끝까지를 선택하여 새로운 배열에 복사하는 방식으로 문제를 해결할 수 있습니다.
이렇게 하면 리스트에서 가장 작은 다섯 개의 숫자를 제거하고 나머지 숫자들만을 오름차순으로 정렬하여 반환하는 결과를 얻을 수 있습니다.
class Solution {
public int[] solution(int[] num_list) {
// 버블 정렬을 사용하여 배열을 오름차순으로 정렬
for (int i = 0; i < num_list.length - 1; i++) {
for (int j = 0; j < num_list.length - 1 - i; j++) {
if (num_list[j] > num_list[j + 1]) {
// 두 요소의 위치를 교환
int temp = num_list[j];
num_list[j] = num_list[j + 1];
num_list[j + 1] = temp;
}
}
}
// 작은 5개의 수를 제외한 나머지 수들을 담을 배열 생성
int[] answer = new int[num_list.length - 5];
// 앞의 5개의 수를 제외한 나머지 수들을 새 배열에 복사
for (int i = 5; i < num_list.length; i++) {
answer[i - 5] = num_list[i];
}
// 결과 반환
return answer;
}
}