1. 문제 설명


2. 코드
import sys, math
input = sys.stdin.readline
T = int(input().strip())
for _ in range(T):
N,M = map(int,input().split())
print(math.comb(M, N))
3. 풀이 과정
sys 패키지를 활용해 입력을 한번에 받고,
math 패키지를 활용해 math.comb(n, k)로 조합 수를 구한다.
조합은 n!/k!(n-k)! 수식을 의미한다.
math.factorial() 함수로 구할 수도 있지만, n!값이 너무 커질 수 있으므로 메모리 부하가 생길 수 있다.
테스트 케이스 개수 T를 받아서
T 횟수만큼 for문으로 N,M을 받아서 math.comb(M, N)을 계산해 출력한다.
반응형
'Baekjoon(Python) > 단계별로 풀어보기(Python)' 카테고리의 다른 글
| [백준][18단계 심화 2] 25192번 /인사성 밝은 곰곰이 (파이썬/Python) (0) | 2025.10.09 |
|---|---|
| [백준][18단계 심화 2] 1037번 /약수 (파이썬/Python) (0) | 2025.10.09 |
| [백준][17단계 조합론] 11050번 /이항 계수 1 (파이썬/Python) (0) | 2025.10.02 |
| [백준][17단계 조합론] 10872번 /팩토리얼 (파이썬/Python) (0) | 2025.10.02 |
| [백준][17단계 조합론] 24723번 /녹색거탑 (파이썬/Python) (0) | 2025.10.02 |