🔍문제
머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls
와 친구들에게 나누어 줄 구슬 개수 share
이 매개변수로 주어질 때, balls
개의 구슬 중 share
개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.
제한사항
- 1 ≤
balls
≤ 30
- 1 ≤
share
≤ 30
- 구슬을 고르는 순서는 고려하지 않습니다.
share
≤ balls
입출력 예
balls |
share |
result |
3 |
2 |
3 |
5 |
3 |
10 |
📝내 풀이
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| import java.math.BigInteger;
class Solution {
public int solution(int balls, int share) {
if(balls == share) return 1;
if(balls < share) return 0;
return (factorial(balls).divide(factorial(balls - share).multiply(factorial(share)))).intValue();
}
public BigInteger factorial(int n){
if(n == 1)
return new BigInteger(Integer.toString(n));
BigInteger ret = factorial(n-1).multiply(new BigInteger(Integer.toString(n)));
return ret;
}
}
|
Programmers 카테고리 내 다른 글 보러가기
댓글남기기