본문 바로가기
백준

[백준] 11050번 : 이항 계수 1 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 9. 12.
728x90
반응형

 

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

해당 문제는 이항 계수 즉, 조합의 경우를 구하는 문제이다.

이항 계수의 값은 N! / K!(N - K)! 의 결과와 동일하므로 팩토리얼을 활용해 값을 구한다.

이때 결과를 정수형으로 반환하기 위해 나눗셈의 몫을 출력하도록 구현한다.

 

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. N과 K를 입력받는다. N, K = map(int, sys.stdin.readline().split())
  3. 팩토리얼을 구해줄 함수를 선언한다. def factorial(n)
  4. 만약 매개변수로 입력받은 값이 1보다 크면 if (n > 1)
  5. 현재 값과 이전 값의 팩토리얼 결과의 곱을 반환한다. return n * factorial(n - 1)
  6. 반면에 매개변수로 입력받은 값이 1 이하이면 1을 반환한다. else: return 1
  7. 이항 계수를 구하여 출력한다. print(factorial(N) // (factorial(K) * factorial(N - K)))
반응형

3. 소스코드

import sys

N, K = map(int, sys.stdin.readline().split())

def factorial(n):
    if (n > 1):
        return n * factorial(n - 1)
    else:
        return 1

print(factorial(N) // (factorial(K) * factorial(N - K)))
728x90
반응형