문제
머쓱이는 구슬을 친구들에게 나눠주려 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share가 매개변수로 주어질 때, balls 개의 구슬 중 share 개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.
답안
def facto(n):
result = 1
for i in range(1, n+1):
result *= i
return result
def solution(balls, share):
return facto(balls) / (facto(balls - share) * facto(share))

이 문제는 조합의 경우의 수를 구하는 것입니다. 조합의 경우의 수를 구하는 공식은 위와 같습니다.
힌트에서 주어진 대로 팩토리얼 함수를 만들고 공식을 구현했습니다.
이 문제를 풀지 못해 다른 자료를 참고했습니다.
더보기
https://www.youtube.com/watch?v=e2gfefOCtp4&list=PLjWmbjpSjAMClE_gKVNfGtzxLIhk8FNA5&index=68
'Coding Test' 카테고리의 다른 글
| [Java] toCharArray() (0) | 2024.07.01 |
|---|---|
| [java] 중복된 문자 제거 (0) | 2024.07.01 |
| [python] 진료 순서 정하기 (0) | 2023.03.07 |
| [python] 외계행성의 나이 (0) | 2023.03.07 |
| [python] 짝수 홀수 개수 (0) | 2023.03.06 |