문제 풀이/프로그래머스
프로그래머스 lv0 뒤에서 5등위로
춘핑이
2023. 8. 13. 11:34
문제
정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
내 풀이
단순하게 정렬 후 5번째부터 담았다.
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length - 5];
Arrays.sort(num_list);
for (int i = 5, j = 0; i < num_list.length; i++, j++) {
answer[j] = num_list[i];
}
return answer;
}다른사람 풀이
배열복사를 이용했다.
Arrays.copyOfRange( A, 시작인덱스, 마지막인덱스);
answer = Arrays.copyOfRange(num_list,5,num_list.length);오랜만에 문제를 풀다보니 배열 복사를 잊고 있었다.!!
이렇게풀수도있다.
System.arraycopy(원래배열, 원래배열시작INDEX, 새배열, 새배열시작INDEX, 복사할개수);
System.arraycopy(num_list, 5, answer, 0, num_list.length - 5);