[swift] 고차 함수를 사용하여 배열의 원소를 정렬하는 방법은 무엇인가요?
- sorted(by:) 함수:
- 배열의 원소들을 주어진 비교 클로저를 기준으로 정렬합니다.
- 비교 클로저는 다음 형식을 가집니다:
(T, T) -> Bool
-
예를 들어, 정수 배열을 오름차순으로 정렬하려면 다음과 같이 사용할 수 있습니다:
let numbers = [5, 2, 7, 1, 4] let sortedNumbers = numbers.sorted(by: { $0 < $1 }) print(sortedNumbers) // 출력: [1, 2, 4, 5, 7]
- sort(by:) 함수:
- sorted(by:) 함수와 동일한 역할을 수행하지만, 원본 배열을 직접 정렬합니다.
- 위의 예제에서 sorted(by:) 대신 sort(by:)를 사용하면 됩니다.
- sorted() 함수:
- 배열의 정렬된 복사본을 반환합니다.
- 기본적으로 오름차순으로 정렬됩니다.
-
위의 예제와 비슷하게, 다음과 같이 사용할 수 있습니다:
let numbers = [5, 2, 7, 1, 4] let sortedNumbers = numbers.sorted() print(sortedNumbers) // 출력: [1, 2, 4, 5, 7]
- sort() 함수:
- sorted() 함수와 동일하지만, 원본 배열을 직접 정렬합니다.
이와 같은 고차 함수를 활용하여 배열의 원소를 다양한 방식으로 정렬할 수 있습니다. 자세한 내용은 Swift 공식 문서를 참조하시기 바랍니다.