Where who wants to meet someone

백준 Swift [11050] 이항 계수 1 본문

백준 알고리즘 문제 기록/조합론

백준 Swift [11050] 이항 계수 1

Lust3r 2023. 9. 8. 15:25
728x90

난이도

브론즈 I

 

문제

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

내 답안

func factorial(_ n: Int) -> Int {
    if n <= 1 {
        return 1
    }

    return n * factorial(n - 1)
}

let input = readLine()!.split(separator: " ").map { Int($0)! }
let n = input[0]
let k = input[1]

print(factorial(n) / (factorial(k) * factorial(n - k)))
  • 이항 계수가 뭐야..
  • 이항 계수 C(n, k)는 n개의 가능성에서 순서가 지정되지 않은 k개의 결과를 선택하는 방법의 수라고 한다.
    구하는 방법은 C(n, k) = n! / k!(n-k)!
  • 이전에 사용했던 factorial 메서드를 활용하여 해결할 수 있었다.