반응형
`구슬을 나누는 경우의 수`
문제 설명
머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.
code
class Solution {
public int solution(int balls, int share) {
if (balls <= share) {
return 1;
}else
return (int)Math.round(fact(balls)/ (fact(balls-share)*fact(share)));
}
public double fact(int num){
if (num == 1) return 1;
return num * fact(num-1);
}
}
힌트에 나와있는 공식대로 팩토리얼 을 사용했다.
Integer의 범위가 2147483647
제한사항인 30의 팩토리얼 2,652,528,598,121,910,586,363,084,800,000
Math클래스의 round 함수로 반올림 해주었다.
반응형
'algorithm' 카테고리의 다른 글
[프로그래머스]등수 매기기, java (0) | 2023.03.28 |
---|---|
[프로그래머스]로그인 성공?, java (0) | 2023.03.28 |
[프로그래머스] OX퀴즈, java (0) | 2023.03.28 |
[프로그래머스]팩토리얼, java (2) | 2023.03.21 |
[프로그래머스]외계어 사전, java (0) | 2023.03.20 |
댓글