728x90
📋 문제
정수로 이루어진 리스트 num_list가 주어집니다.
num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록
solution 함수를 완성해주세요.
📋 입출력 예시

📋 풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
// 1. num_list를 오름차순으로 정렬
Arrays.sort(num_list);
// 2. 새로운 배열의 크기는 원래 배열의 크기에서 5를 뺀 크기
int[] answer = new int[num_list.length - 5];
// 3. 처음 5개의 요소를 제외한 나머지 요소를 새로운 배열에 복사
for (int i = 5; i < num_list.length; i++) {
answer[i - 5] = num_list[i];
}
return answer;
}
}
제일 낮은 5개를 제외하는 거니까 먼저 오름차순을 해주고
입력값 배열인 num_list의 길이에서 5를 뺀 후 그 값을 반복문을 통해 answer에 담아준다.
(num_list.length - 5 잡기가 어려워서 참고좀 했다 ㅠ. 배열과 좀 더 친해질 필요가 있을듯)
+남의 풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] numList) {
return Arrays.stream(numList).sorted().skip(5).toArray();
}
}
상당히 간결하다 , , , 알아둬야지
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [Lv.0] 조건에 맞게 수열 변환하기1 (2) | 2024.07.19 |
|---|---|
| [Lv.0] 길이에 따른 연산(배열) (0) | 2024.07.18 |
| [Lv.0] 뒤에서 5등까지 (0) | 2024.07.18 |
| [Lv.0] 정수 부분(실수 -> 정수 추출) (0) | 2024.07.17 |
| [Lv.0] 특수문자 출력 (0) | 2024.07.17 |