Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 11050번- '이항 계수 1' (PYTHON 풀이) 본문
문제:

이항 계수에 대한 규칙이 기억나지 않아 서치를 통해 공식을 알아냈다. 이항 계수는 조합의 수를 뜻하며, 서로 다른 N개 중에서 순서 상관없이 K개를 고르는 방법의 수이다. 공식은 다음과 같다.

즉, 해당 문제는 위 공식을 코드로 풀어내면 쉽게 풀 수 있으며, 팩토리얼을 활용하면 된다!
풀이:
import sys
N, K = map(int, sys.stdin.readline().split())
def fac(x):
res = 1
for i in range(2, x + 1):
res *= i
return res
print(fac(N) // (fac(K) * fac(N - K)))
기본 팩토리얼은 이전 문제나 옛날에 풀었던 문제를 참고하면 될 것 같고, 이번 문제를 풀기 위해서는 위와 같이 작성해야 한다.
res를 1로 설정하고(곱셈을 해야하기 때문에 0이면 안됨) 2부터 N, K에 대한 값을 넣으면서 곱한 뒤 res에 결과를 적장한다. 그러면 팩토리얼처럼 작동이 된다. 그 후 print에서는 앞서 말한 공식대로 함수를 호출하게 되면 우리가 원하는 조합의 수 결과가 나온다.
이번 문제는 공식만 알면 쉽게 풀 수 있다!
'CODING 💻' 카테고리의 다른 글
| 백준 1010번- '다리 놓기' (PYTHON 풀이) (0) | 2025.11.01 |
|---|---|
| 백준 24723번- '녹색거탑' (PYTHON 풀이) (0) | 2025.10.31 |
| 백준 10870번- '피보나치 수 5' (PYTHON 풀이) (0) | 2025.10.29 |
| 백준 28279번- '덱 2' (PYTHON 풀이) (0) | 2025.10.28 |
| 백준 11866번- '요세푸스 문제 0' (PYTHON 풀이) (0) | 2025.10.27 |
