[Python] 백준 알고리즘 2407번 - 조합
2022. 3. 2. 22:16ㆍ알고리즘/문제풀이
[Python] 백준 알고리즘 2407번 - 조합
문제 출처 : https://www.acmicpc.net/problem/2407
접근 방식
순열과 조합의 기본을 다루는 문제이다. 순열과 조합 둘 다 개념을 생각해 보면 팩토리얼로 구성된 식으로 표현이 가능하다. 따라서 팩토리얼을 계산하는 메서드를 정의해 주고 그 팩토리얼 메서드를 기반으로 코드를 구성하였다.
문제에서 요구하는 조합의 경우 조합의 정의는 다음과 같다.
메소드를 구현한 후 조합의 정의에 맞춰서 출력을 했다.
코드
# 주어진 문제를 풀기위한 팩토리얼 식 입력
def factorial(a):
if a <= 1:
return 1
else:
return a * factorial(a - 1)
# 문제에서 주어지는 입력 값. n 과 m
n, m = map(int, input().split())
# int형 변환을 안하고 출력을 하는 경우 뒤에 소숫점이 붙었다. int형 변환 선언 후 출력
print(int(factorial(n) // (factorial(n - m) * factorial(m))))
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Python] 백준 알고리즘 10866번 - 덱 (0) | 2022.03.21 |
---|---|
[Python] 백준 알고리즘 7576번 - 토마토 (0) | 2022.03.07 |
[Python] 백준 알고리즘 1926번 - 그림 (0) | 2022.03.06 |
[Python] 백준 알고리즘 11404번 - 플로이드 (0) | 2022.03.04 |
[Python] 백준 알고리즘 1927번 - 최소 힙 (0) | 2022.03.03 |