[swift] Swift에서 사용자 입력 값을 기준으로 정렬하기

사용자 입력 값을 기준으로 배열을 정렬하는 것은 많은 Swift 프로그램에서 필요한 작업입니다. 이를 위해서는 사용자로부터 입력을 받아 배열로 구성한 다음, 해당 배열을 사용자가 선택한 기준에 따라 정렬해야 합니다.

사용자 입력 받기

먼저, 사용자로부터 입력을 받아 배열을 구성해야 합니다. 이를 위해서는 readLine() 함수를 사용하여 사용자로부터 입력을 받을 수 있습니다. 다음은 간단한 예제 코드입니다.

print("Enter numbers separated by space:")

if let input = readLine() {
    let numbers = input.split(separator: " ").compactMap { Int($0) }
    print("Input numbers: \(numbers)")
}

위의 예제에서는 사용자로부터 숫자들을 입력 받아 배열로 구성하고, 해당 배열을 출력하는 것을 보여줍니다.

배열 정렬하기

사용자 입력 값을 기준으로 배열을 정렬하기 위해서는 사용자가 선택한 정렬 기준에 따라 비교 함수를 작성해야 합니다. 예를 들어, 숫자를 오름차순으로 정렬하는 경우 다음과 같이 비교 함수를 작성할 수 있습니다.

func ascending(_ a: Int, _ b: Int) -> Bool {
    return a < b
}

let sortedNumbers = numbers.sorted(by: ascending)
print("Sorted numbers in ascending order: \(sortedNumbers)")

위의 예제에서 sorted 메서드의 by 매개변수를 사용하여 사용자가 작성한 비교 함수를 적용하여 배열을 정렬합니다.

마무리

이제 Swift에서 사용자 입력 값을 기준으로 배열을 정렬하는 방법에 대해 알아보았습니다. 프로그램의 요구에 따라 적절한 방식으로 사용자 입력 값을 기준으로 배열을 정렬하여 필요한 결과를 얻을 수 있습니다.

참고문헌: