HIT해

[Swift] 조합 본문

Swift/Swift 알고리즘

[Swift] 조합

힛해 2024. 10. 1. 15:35
728x90
func main() {
    let NM = readLine()!.split(separator: " ").map{ Int($0)! }
    
    let (X,Y) = (NM[0], NM[1])
    
    // factorial 함수를 Double로 계산하므로, 나누기 연산도 Double로 처리 후 결과를 Int로 변환
    let result = factorial(num: X) / (factorial(num: Y) * factorial(num: X - Y))
    
    print(Int(result))  // 최종 결과를 Int로 변환해 출력
}

func factorial(num: Int) -> Double {
    return num == 0 ? 1 : (1...num).map { Double($0) }.reduce(1, *)
}

// main 함수 실행
main()