💡재귀함수
📌재귀의 이해 - 다르게 생각하기
- 어떤 문제를 해결할 때, 동일한 구조의 더 작은 문제를 해결함으로써 주어진 문제를 해결하는 방법을 재귀(recursion)라고 한다
📌재귀는 언제 사용하는 게 좋을까?
- 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우
- 중첩된 반복문이 많거나 반복문의 중첩 횟수(number of loops)를 예측하기 어려운 경우
📌재귀적 사고 연습하기
재귀적으로 사고하기
- 재귀 함수의 입력값과 출력값 정의하기
- 문제를 쪼개고 경우의 수를 나누기
- 단순한 문제 해결하기
- 복잡한 문제 해결하기
- 코드 구현하기
function arrSum(arr) {
if (arr의 길이가 0인 경우) {
return 0;
}
return head + arrSum(tail);
}
function recursive(input1, input2, ...) {
if (문제를 더 이상 쪼갤 수 없을 경우) {
return 단순한 문제의 해답;
}
return 더 작은 문제로 새롭게 정의된 문제
}
📌factorial로 알아보는 재귀
function fac(n) {
if(n === 1) {
return 1;
}
return n * fac(n-1);
}