https://school.programmers.co.kr/learn/courses/30/lessons/120840?language=javascript
function solution(balls, share) {
return factorial(balls) / (factorial(balls - share) * factorial(share));
}
function factorial(number){
let basic = BigInt(1);
for(let i = 2; i <= number; i++){
basic *= BigInt(i);
}
return basic;
}
우선 Factorial을 사용할까? 라는 고민을 했었고, 문제 아래 Hint가 있어서 확신이 들었다.
문제에서 BigInt를 사용하지 않을경우 에러가 발생한다. 그 이유는 Javascript가 2^53 - 1까지만 다룰 수 있기 때문이다. 따라서 BigInt를 사용해야하고, factorial 함수를 작성할 수 있다면 쉽게 해결할 수 있는 문제다.