package programmers;
import java.util.Arrays;
class 뒤에서_5등_위로_Java_230712 {
/*
정수로 이루어진 리스트 num_list가 주어집니다.
num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
*/
public int[] solution(int[] num_list) {
Arrays.sort(num_list);
int[] answer = new int[num_list.length - 5];
for (int i = 0; i < answer.length; i++) {
answer[i] = num_list[i + 5];
}
return answer;
}
public int[] solution_stream(int[] num_list) {
return Arrays.stream(num_list).sorted().skip(5).toArray();
/*
위의 코드는 `solution_stream` 함수로, 입력으로 받은 `num_list`를 스트림으로 변환한 후에 다음과 같은 작업을 수행합니다:
1. `Arrays.stream(num_list)`을 사용하여 `num_list`를 스트림으로 변환합니다.
2. `sorted()`를 호출하여 스트림 요소를 정렬합니다.
3. `skip(5)`를 호출하여 처음부터 5개의 요소를 건너뜁니다.
4. `toArray()`를 호출하여 스트림 요소들을 정수 배열로 변환합니다.
5. 최종적으로 정수 배열을 반환합니다.
따라서, 이 함수는 주어진 `num_list`에서 가장 작은 5개의 수를 제외한 나머지 수를 오름차순으로 정렬하여 정수 배열로 반환합니다.
*/
}
}
package programmers
class 뒤에서_5등_위로_Kotlin_230712 {
/*
정수로 이루어진 리스트 num_list가 주어집니다.
num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
*/
fun solution(num_list: IntArray): IntArray {
val sortArray = num_list.sorted().toIntArray()
// 주어진 num_list를 정렬하여 sortArray에 저장합니다.
val answer = IntArray(num_list.size - 5)
// 정답을 저장할 배열을 생성합니다.
// 정답 배열의 크기는 num_list의 크기에서 5를 뺀 값입니다.
for (i in answer.indices) {
// 정답 배열을 채웁니다.
// sortArray에서 index i + 5에 해당하는 값을 정답 배열의 i번째에 저장합니다.
answer[i] = sortArray[i + 5]
}
/*
`indices`는 Kotlin의 표준 라이브러리 함수로,
주어진 컬렉션의 유효한 인덱스 범위를 나타내는 IntRange 객체를 반환합니다.
예를 들어, 리스트의 인덱스 범위는 0부터 리스트의 크기에서 1을 뺀 값까지입니다.
따라서 `list.indices`는 `0 until list.size`와 같은 결과를 갖는 IntRange 객체를 반환합니다.
이를 활용하여 반복문에서 인덱스를 사용할 때 `indices`를 이용하면,
리스트의 크기에 상관없이 안전하게 인덱스를 접근할 수 있습니다.
예를 들어, `for (i in list.indices)`는 리스트의 모든 유효한 인덱스에 대해 반복할 수 있습니다.
따라서 `answer.indices`는 `answer` 배열의 유효한 인덱스 범위를 나타내는 IntRange 객체를 반환합니다.
이를 활용하여 `answer` 배열을 반복문에서 채울 때 `i in answer.indices`와 같은 형태로 사용할 수 있습니다.
*/
return answer
}
fun solution_stream(num_list: IntArray): IntArray {
return num_list.sorted().drop(5).toIntArray()
// num_list를 정렬한 후 처음부터 5개의 요소를 건너뛴 뒤, 남은 요소들을 정수 배열로 변환하여 반환합니다.
}
}
댓글
댓글 쓰기