diff --git a/백준/Silver/11051. 이항 계수 2/README.md b/백준/Silver/11051. 이항 계수 2/README.md new file mode 100644 index 0000000..9098e84 --- /dev/null +++ b/백준/Silver/11051. 이항 계수 2/README.md @@ -0,0 +1,28 @@ +# [Silver II] 이항 계수 2 - 11051 + +[문제 링크](https://www.acmicpc.net/problem/11051) + +### 성능 요약 + +메모리: 55236 KB, 시간: 260 ms + +### 분류 + +조합론, 다이나믹 프로그래밍, 수학 + +### 제출 일자 + +2025년 3월 4일 17:53:01 + +### 문제 설명 + +

자연수 N과 정수 K가 주어졌을 때 이항 계수 (NK)를 10,007로 나눈 나머지를 구하는 프로그램을 작성하시오.

+ +### 입력 + +

첫째 줄에 NK가 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ KN)

+ +### 출력 + +

(NK)를 10,007로 나눈 나머지를 출력한다.

+ diff --git a/백준/Silver/11051. 이항 계수 2/이항 계수 2.py b/백준/Silver/11051. 이항 계수 2/이항 계수 2.py new file mode 100644 index 0000000..5b4f9fb --- /dev/null +++ b/백준/Silver/11051. 이항 계수 2/이항 계수 2.py @@ -0,0 +1,16 @@ +import sys + +input = sys.stdin.readline +N, K = map(int, input().split()) +D = [[0 for j in range(N+1)] for i in range(N+1)] + +for i in range(0, N+1): + D[i][0] = 1 + D[i][i] = 1 + D[i][1] = i + +for i in range(1, N+1): + for j in range(1, i+1): + D[i][j] = (D[i-1][j-1] % 10007 + D[i-1][j] %10007)%10007 + +print(D[N][K]) \ No newline at end of file