문제
https://school.programmers.co.kr/learn/courses/30/lessons/120840
해설
공식을 코드로 구현하면 된다.
function solution(balls, share) {
//팩토리얼 함수
const factorial = (n) => {
let result = 1;
for (let i = 1; i <= n; i++) {
result *= i;
}
return result;
};
//조합 함수
const combination = (n, r) => {
// 정수 나누기 연산을 사용
return factorial(n) / (factorial(r) * factorial(n - r));
};
// 정수 값으로 반환되도록 수정
return Math.round(combination(balls, share));
}
다른 풀이
팩토리얼을 재귀함수로 구현
const 팩토리얼 = (num) => num === 0 ? 1 : num * 팩토리얼(num - 1)
function solution(balls, share) {
return Math.round(팩토리얼(balls) / 팩토리얼(balls - share) / 팩토리얼(share))
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 삼각형의 완성조건 (2) (0) | 2024.03.02 |
---|---|
프로그래머스, 자바스크립트) 배열 만들기 6 (0) | 2024.02.26 |
프로그래머스, 자바스크립트) 배열 만들기 4 (0) | 2024.02.25 |
프로그래머스, 자바스크립트) 조건에 맞게 수열 변환하기 2 (0) | 2024.02.22 |
프로그래머스, 자바스크립트) 수열과 구간 쿼리 4 (0) | 2024.02.19 |