[코드스테이츠 Day 27] 재귀 Recursion

Strawberry Oolong Tea·2021년 10월 6일
0

TODAY I LEARNED

목록 보기
36/51
post-thumbnail

재귀

자신을 정의할 때 자기 자신을 재참조하는 방법으로,
재귀 호출의 형태로 많이 사용된다.
어떤 함수가 자기 자신을 호출하는 함수를 재귀 함수라고 한다.

재귀적으로 사고하기

  • 입력값과 출력값 정의하기
  • 문제를 쪼개고 경우의 수 나누기
    • 문제를 더 이상 쪼갤 수 없는 경우와 그렇지 않은 경우로 나누기
  • 가장 해결하기 쉬운 문제부터 해결하기 -> 재귀의 기초(base case)
    • 재귀의 기초는 재귀의 탈출 조건을 구성한다
  • 남아있는 복잡한 문제를 해결하기
function recursive(input1, input2, ...) {
  // Base Case : 문제를 더 이상 쪼갤 수 없는 경우
  if (문제를 더 이상 쪼갤 수 없을 경우) {
    return 단순한 문제의 해답;
  }
  // recursive Case
  // 그렇지 않은 경우
  return 더 작은 문제로 새롭게 정의된 문제
  // 예1. someValue + recursive(input1Changed, input2Changed, ...)
  // 예2. someValue * recursive(input1Changed, input2Changed, ...)
}
profile
Der Vogel kämpft sich aus dem Ei 🥚🐣 목표를 위해 끊임없이 자신의 세계를 깨뜨릴 수 있는 용감한 개발자가 되고 싶습니다.

0개의 댓글