문제 설명
정수로 이루어진 리스트 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] |
입출력 예 설명
입출력 예 #1
- [12, 4, 15, 46, 38, 1, 14]를 정렬하면 [1, 4, 12, 14, 15, 38, 46]이 되고, 앞에서부터 5개를 고르면 [1, 4, 12, 14, 15]가 됩니다.
이 문제에 대한 코드를 다음과 같이 작성하였다.
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
// 5자리의 배열 선언
int[] answer = new int[5];
// num_list를 정렬
Arrays.sort(num_list);
// answer 배열에 num_list 배열을 대입
for (int i = 0; i < answer.length; i++) {
answer[i] = num_list[i];
}
System.out.println(Arrays.toString(answer));
return answer;
}
}
먼저 5자리의 배열을 선언한다.
그 다음 sort()
메서드를 이용해 num_list
를 오름차순으로 정렬했다.
마지막으로 ànswer 배열에 num_list
배열을 대입함으로써 마무리를 했다.
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
Arrays.sort(num_list);
return Arrays.copyOfRange(num_list, 0, 5);
}
}
다른 사람들이 푼 코드를 살펴보도록 하겠다.
이 코드가 더욱더 정리된 코드이다.copyOfRange
메서드를 사용하여 num_list
배열의 0번째 인덱스부터 5번째 인덱스까지 복사하여 저장하였다.
나는 copyOfRange
의 존재를 몰라서 못썼지만 다음부터 사용하면 아주 유용할 것 같다..
'problem solving' 카테고리의 다른 글
[프로그래머스] 대문자와 소문자 (0) | 2024.11.28 |
---|---|
[프로그래머스] 두 수의 연산값 비교하기 (0) | 2024.11.27 |
[프로그래머스] 가위 바위 보 (0) | 2024.11.26 |
[프로그래머스] 배열 비교하기 (0) | 2024.11.26 |
[프로그래머스] 문자열 정수의 합 (0) | 2024.11.21 |