Coding Test Practice in Swift
두 정수 사이의 합 with reduce 함수
JasonYang
2023. 11. 21. 16:12
문제
풀이
func solution(_ a:Int, _ b:Int) -> Int64 {
// Int 탑입의 매개변수 a, b를 받아서 최소값(a, b)...최대값(a, b) 중에 reduce 함수 활용하여 첫 번째 인자는 초기값으로 0을 사용하고 두번째 인자는 + 연산자를 활용하여 모든 정수를 합한다. == a, b사이의 모든 정수의 합을 반환한다.
return Int64((min(a, b)...max(a, b)).reduce(0, +))
}
/* reduce 함수 란?
Swift의 reduce 메서드는 컬렉션의 모든 요소를 결합하여 단일 값을 생성하는 데 사용됩니다. 이 메서드는 두 개의 인수를 받습니다: 초기 결과 값과 결합을 수행하는 클로저입니다.
reduce 메서드의 기본적인 사용법은 다음과 같습니다:
swift
let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0, { (result, number) in result + number })
// sum은 15입니다.
위의 예제에서 numbers 배열의 모든 요소를 더하는 예제입니다. reduce 메서드는 두 개의 인수를 받습니다. 첫 번째 인수는 초기 결과 값으로 0을 전달하였고, 두 번째 인수는 클로저입니다. 이 클로저는 현재까지의 결과 값(result)과 배열의 현재 요소(number)를 받아, 둘을 더한 값을 반환합니다. 이렇게 해서 배열의 모든 요소를 차례대로 더하게 되며, 그 결과는 sum에 할당됩니다.
이처럼 reduce는 배열의 모든 요소를 하나의 값으로 결합하는데 사용되며, 다양한 방식으로 사용될 수 있습니다.
*/