목차
백준 단계별로 풀어보기
25.11.29
17단계: 조합론
11050번: 이항 계수 1
문제 링크 : https://www.acmicpc.net/problem/11050
문제를 풀기 위해 알아야 할 개념
>> 이항 계수
: 이항식을 이항 정리로 전개했을 때 각 항의 계수이며, 주어진 크기의 (순서 없는) 조합의 가짓수이다.
--> 주어진 집합 n 에서 원하는 개수 k 만큼 순서없이 뽑는 조합의 개수를 의미한다.
- 이항계수 공식
: 단, (0 ≤ k ≤ n). 만약 (k < 0) 이거나 (k > n) 이라면 결과값은 0이다.

※ 참고 문서 - 위키백과
링크 : 위키백과 - 이항 계수
문제 풀이
- StreamReader로 입력값을 받아 각각 int값으로 변환하여 자연수 N 과 정수 K 를 담을 변수 n 과 k 에 담는다.
- 재귀함수의 형태로 만든 Factorial 함수를 활용하여 StreamWriter로 이항계수 공식에 맞게 계산하여 출력한다.
- Factorial(int n) : n 이 0이라면 1을, 아니라면 Factorial(n - 1)에 n 을 곱한 값을 반환한다. --> n 이 5라면 결과적으로 5 × 4 × 3 × 2 × 1 × 1 을 계산한 값이 반환된다.
정답 코드
using System.IO;
class Backjoon
{
static void Main(string[] args)
{
using var sr = new StreamReader(Console.OpenStandardInput());
using var sw = new StreamWriter(Console.OpenStandardOutput());
string[] input = sr.ReadLine().Split();
int n = int.Parse(input[0]);
int k = int.Parse(input[1]);
sw.Write(Factorial(n)/(Factorial(k)*Factorial(n - k)));
}
static int Factorial(int n)
{
return n == 0 ? 1 : n * Factorial(n - 1);
}
}'Development > Baekjoon' 카테고리의 다른 글
| [C#] 1037번: 약수 (0) | 2025.12.01 |
|---|---|
| [C#] 1010번: 다리 놓기 (0) | 2025.11.30 |
| [C#] 10872번: 팩토리얼 (0) | 2025.11.28 |
| [C#] 24723번: 녹색거탑 (0) | 2025.11.27 |
| [C#] 15439번: 베라의 패션 (0) | 2025.11.26 |