[swift] 고차 함수를 사용하여 배열 내의 모든 원소들을 특정 값 기준으로 분류하는 방법은 어떻게 되나요?

예를 들어, 정수 배열을 특정 값을 기준으로 분류해보겠습니다. 아래의 코드를 참고하세요.

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

// 짝수와 홀수로 분류하는 함수
func classifyEvenOdd(number: Int) -> String {
    if number % 2 == 0 {
        return "짝수"
    } else {
        return "홀수"
    }
}

// 고차 함수를 사용하여 배열 내의 모든 원소를 분류
let classifiedNumbers = numbers.map(classifyEvenOdd(number:))
print(classifiedNumbers) // ["홀수", "짝수", "홀수", "짝수", "홀수", "짝수", "홀수", "짝수", "홀수", "짝수"]

위의 예시에서는 map(_:) 함수를 사용하여 classifyEvenOdd(number:) 함수를 배열의 각 원소에 대해 적용하였습니다. 이러면 numbers 배열의 모든 원소가 classifyEvenOdd(number:) 함수에 의해 분류되고, 분류된 결과가 classifiedNumbers 배열에 저장됩니다.

고차 함수를 사용하여 배열을 조작하는 것은 코드의 가독성과 유지 보수성을 향상시킬 수 있는 방법입니다.