function solution(n, m) {
const combinationArray = [BigInt(1), BigInt(1), BigInt(1)];
for (let i = BigInt(2); i <= n; i++) {
combinationArray[0] = combinationArray[0] * i;
}
for (let j = BigInt(2); j <= n - m; j++) {
combinationArray[1] = combinationArray[1] * j;
}
for (let k = BigInt(2); k <= m; k++) {
combinationArray[2] = combinationArray[2] * k;
}
return combinationArray[0] / (combinationArray[1] * combinationArray[2]);
}
/*
(ํ์ด)
n! / (n-m)! * x m! ์ ์์ ์ํด
n!, n-m!, m! ๊ฐ๊ฐ์ ๊ฐ์ 3๊ฐ์ for๋ฌธ์ผ๋ก ๊ตฌํด์ค ํ
๊ณต์๋๋ก ๊ณ์ฐํ์ฌ ๋ฐํ.
*/
- ์ ์ผ ๋ง์ ์๊ฐ์ ๋ค์์ง๋ง BigInt๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ๋ ์๊ฐ๋ ๋ชปํด์ ์ ์ผ ์ด๋ ต๊ณ ๋ชปํผ ๋ฌธ์ ..
- ํ ๋ฆฌ๋๋ํํ ๊ฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ํ๊ณ๋ฅผ ๋์ด BigInt๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ ํํธ๋ฅผ ๋ฃ๊ณ ๊ฒจ์ฐ ํ์ด๋๋ค..
ํผ๋๋ฐฑ
function solution(balls, share) {
const numerator = factorial(balls);
const denominator = factorial(balls - share) * factorial(share);
return Number(numerator / denominator);
}
function factorial(num) {
let result = BigInt(1);
for (let i = BigInt(num); i > 1; i--) {
result *= i;
}
return result;
}
- ํฉํ ๋ฆฌ์ผ์ ์ถ๋ ฅํ๋ ๋ฐ๋ณต๋ฌธ์ ํจ์๋ก ๋นผ์ ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ์ค์ผ ์ ์๋ค.
- ํฉํ ๋ฆฌ์ผ์ ๋ํด์๋ ์ ๋ฆฌํ ์์ .
'์๊ณ ๋ฆฌ์ฆ & ๋ฌธ์ ํ์ด > Programmers-0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ง๋ฃ์์ ์ ํ๊ธฐ (0) | 2022.10.19 |
---|---|
๋ค์์ ์ฌ ์ซ์ (0) | 2022.10.19 |
์์ธ์๋ถํด (0) | 2022.10.19 |
์ปจํธ๋กค ์ ํธ (0) | 2022.10.19 |
๋ฌธ์์ด ๊ณ์ฐํ๊ธฐ (0) | 2022.10.19 |