programmers
[JAVA] ★ 구슬을 나누는 경우의 수
아잠만_
2024. 3. 12. 10:02
머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.
** 제한사항
1 ≤ balls ≤ 30
1 ≤ share ≤ 30
구슬을 고르는 순서는 고려하지 않습니다.
share ≤ balls
풀이)
class Solution {
public int solution(int balls, int share) {
//30! 일 경우 int범위 overflow
long answer = 1;
int den = 1;
for(int i = share+1; i <= balls; i++){
answer *= i;
answer /= den;
den++;
}
return (int) answer;
}
}