반응형
문제
https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 0 ≤ K ≤ N)
www.acmicpc.net
풀이
이항계수란 뭘까요?
(x+y)5=x5+5x4y+10x3y2+10x2y3+5xy4+y5
입니다.
이항계수는 다항식의 거듭제곱을 정리하였을 때, xn−kyk의 계수를 뜻합니다
n이 5, k가 2라면?
10x3y2 이므로 10이겠죠??
또한, 이항계수는 n!k!(n−k)!으로 구할 수 있습니다.
이 수식을 이용하면 답을 구할 수 있습니다.
소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func factorial(_ n: Int) -> Int { | |
if n < 2 { | |
return 1 | |
} | |
return n * factorial(n - 1) | |
} | |
let input = readLine()!.split(separator: " ").map { Int($0)! } | |
let n = input[0], k = input[1] | |
print(factorial(n) / (factorial(k) * factorial(n - k))) |
후기
이항 계수가 뭔지 몰라서.. 검색해봤습니다.
이항 계수를 알고 있고 구하는 수식을 안다면 쉽게 풀 수 있는 문제입니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1037 약수 (Swift) (0) | 2023.04.03 |
---|---|
[BOJ] 백준 1010 다리 놓기 (Swift) (0) | 2023.04.03 |
[BOJ] 백준 15439 Vera and Outfits (Swift) (0) | 2023.04.02 |
[BOJ] 백준 20920 영단어 암기는 괴로워 (Swift) (0) | 2023.04.02 |
[BOJ] 백준 26069 붙임성 좋은 총총이 (Swift) (0) | 2023.04.01 |