본문 바로가기
부트캠프교육중/JavaScript

재귀함수

by 뭉지야 2023. 2. 13.
728x90

# 재귀함수
-자기자신을 호출하는 함수
- 잘 활용하면 반복적인 작업을 해야하는 문제를 좀더 간결한 코드로 풀어낼수있다.
-모든 재귀함수는 반복문으로 표현할수있다. 그러나 재귀를 적용할수있는 대부분의 경우에는 재귀를 적용한 코드가 더욱 간결하고 이해하기 쉽다.

1.문제를 좀 더 작게 쪼갠다.
2.문제가 더는 작아지지 않을때까지 가장 작은 단위로 문제를 쪼갠다.
3. 가장 작은 단위의 문제를 풂으로써 전체 문제를 해결한다.

#언제 사용하는게 좋을까?
-주어진 문제를 비슷한 구조의 더 작은 문제로 나눌수있는경우
-중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우

 

function recursive(input1, input2, ...) {
  // base case : 문제를 더 이상 쪼갤 수 없는 경우 
  // => base case: 재귀의기초, 재귀의 탈출조건(멈추는조건)
  if (문제를 더 이상 쪼갤 수 없을 경우) {
    return 단순한 문제의 해답;
  }

  // recursive case : 그렇지 않은 경우
  return 더 작은 문제로 새롭게 정의된 문제
}

 

5! = 5 * 4 * 3 * 2 * 1
   = 5 * 4!
   = 5 * 4 * 3!


function fac(n) {
if(n === 1) {
  return 1;
}
	return n * fac(n-1);
}
728x90

'부트캠프교육중 > JavaScript' 카테고리의 다른 글

정규표현식  (0) 2023.03.29
JSON  (0) 2023.02.15
undefined와 null 차이  (0) 2023.01.22
Axios  (0) 2023.01.19
Fetch API  (0) 2023.01.19