반응형
안녕하세요 성조입니다.
최근 파이썬으로 문제 풀이를 진행하고 있는데 이전에 풀지 못했던 문제들이 조금씩 풀리고 있고, 처음 보는 문제들도 풀게 된 것 같습니다. 부족한 설명일 수 있으나 잘 부탁드립니다.
https://www.acmicpc.net/problem/11050
문제
자연수 (N)과 정수 (K)가 주어졌을 때 이항 계수
를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (N)과 (K)가 주어진다. (1 ≤ N ≤ 10, 0 ≤ K ≤ N)
출력
를 출력한다.
코드
N, K = map(int, input().split())
num = 1
for i in range(K):
num *= N-i
def factorial(K):
if K < 2:
return 1
else:
return K * factorial(K-1)
req = factorial(K)
res = num // req
print(res)
풀이
이항 계수를 오랜만에 코드로 풀려고 하다 보니 개념이 헷갈려서 공식을 위키에서 찾다가 조금 설명이 더 필요해서 보니 나무위키에 정리가 내가 생각했던 부분이 조금 더 작성되어 있었다. 나무위키는 개인이 작성한거라서 100% 정답은 아닐 수 있지만 문제 풀이하는데 도움이 됐기에 사진과 링크를 걸어놓는다.
(참고용 사진)
이항 계수는 수학에서 말하면 조합의 가짓수이다.
즉, 경우의 수를 의미하게 된다.
n(n-1)(n-2)...(n-r)+1) / r!를 그대로 코드화 하면 본인이 풀어낸 코드가 된다.
잘못된 지식 전달사항이 있다면 댓글 부탁드리겠습니다.
궁금하신 부분이 있다면 언제든 댓글 부탁드립니다!
감사합니다. 다음 포스팅 때 뵙겠습니다!
참조
https://namu.wiki/w/%EC%A1%B0%ED%95%A9
https://ko.wikipedia.org/wiki/%EC%9D%B4%ED%95%AD_%EA%B3%84%EC%88%98
반응형
'백준 - Python' 카테고리의 다른 글
[백준 - 9506][Python] 약수들의 합 (0) | 2023.01.16 |
---|---|
[백준 - 2751][Python] 수 정렬하기 2 (0) | 2022.10.10 |
[백준 - 2750][Python] 수 정렬하기 (1) | 2022.10.08 |
[백준 - 2525][Python] 오븐 시계 (2) | 2022.10.03 |
[백준 - 5355][Python] 화성수학 (0) | 2022.09.29 |