재귀를 사용하여 팩토리얼(factorial)을 구하는 함수를 구현해주세요. 팩토리얼이란 n에서부터 1까지의 정수를 모두 곱한것을 말합니다.
0! = 1
1! = 1
2! = 1 * 2
5! = 1 * 2 * 3 * 4 * 5
const factorial = n => {
return (n === 0) ? 1 : n * factorial(n-1);
}
let result = 1;
const factorial = n => {
// console.log("n : ", n)
if (n === 0) return result;
result = result * n;
// console.log("result : ", result);
factorial(n-1);
}
undefined
가 나왔다.factorial(n-1)
을 타고 들어가서 return 값이 나오면 된다고 생각했지만, js 에서는 안된다.undefined
가 나오므로 유의해야한다.