[swift] 문자열 보간을 사용한 알고리즘 구현

문자열 보간(String Interpolation)은 Swift 언어에서 매우 유용하게 사용되는 기능입니다. 이 기능은 문자열 안에 변수나 상수의 값을 삽입하는 것을 말합니다. 이번 글에서는 문자열 보간을 활용하여 알고리즘을 간단하게 구현하는 방법에 대해 알아보겠습니다.

1. 최댓값 구하기

숫자 배열을 입력받아 최댓값을 구하는 함수를 구현해보겠습니다. 문자열 보간을 사용하여 구현하면 코드가 간결해지고 가독성이 좋아집니다.

func findMaxValue(in numbers: [Int]) -> Int {
    var max = Int.min
    
    for number in numbers {
        if number > max {
            max = number
        }
    }
    
    return max
}

let numbers = [1, 8, 3, 5, 2]
let maxValue = findMaxValue(in: numbers)

print("최댓값은 \(maxValue)입니다.")

이 코드에서는 findMaxValue(in:) 함수를 사용하여 주어진 숫자 배열에서 최댓값을 찾습니다. 함수의 결과를 maxValue 변수에 할당하고, 문자열 보간을 사용하여 출력합니다. 출력 결과는 “최댓값은 8입니다.”가 될 것입니다.

2. 거스름돈 계산하기

지불할 금액과 실제로 받은 돈을 입력받아 거스름돈을 계산하는 함수를 구현해보겠습니다. 문자열 보간을 사용하여 거스름돈의 구성을 출력해보겠습니다.

func calculateChange(total: Int, paid: Int) -> String {
    if total > paid {
        return "지불한 금액이 부족합니다."
    }
    
    var change = paid - total
    
    var result = ""
    
    let denominations = [10000, 5000, 1000, 500, 100, 50, 10, 1]
    
    for denomination in denominations {
        let count = change / denomination
        
        if count > 0 {
            result += "\(denomination)원짜리: \(count)\n"
        }
        
        change %= denomination
    }
    
    return result
}

let total = 17890
let paid = 20000
let changeResult = calculateChange(total: total, paid: paid)

print("거스름돈:\n\(changeResult)")

이 코드에서는 calculateChange(total:paid:) 함수를 사용하여 거스름돈을 계산합니다. 함수는 지불할 금액과 실제로 받은 금액을 받아 들이고, 거스름돈을 문자열로 반환합니다. 반환된 문자열을 출력할 때 문자열 보간을 활용하여 거스름돈의 구성을 출력합니다.

이렇게 문자열 보간을 활용하면 알고리즘의 결과를 간편하게 문자열로 표현할 수 있습니다. 이를 통해 코드의 가독성과 유지 보수성을 높일 수 있습니다.

참고 자료