Day +41

비트·2023년 6월 9일
0

CodeStates

목록 보기
41/54
post-thumbnail

재귀(recursion) 함수

재귀(再歸) : 원래의 자리로 되돌아가거나 되돌아옴.


재귀로 문제 해결하기

1. base case

base case : 문제가 더이상 쪼개지지 않는 순간 -> 탈출 조건 작성 (재귀의 기초)


2. recursive case

recursive case : (그렇지 않은 경우) 문제를 동일한 방식으로 쪼개나가는 방법




재귀는 언제 사용하는 게 좋을까?

  1. 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우
  2. 중첩된 반복문이 많거나 반복문의 중첩 횟수(number of loops)를 예측하기 어려운 경우

재귀함수 코드 예시

function recursive(input1, input2, ...) {
  // base case : 문제를 더 이상 쪼갤 수 없는 경우
  if (문제를 더 이상 쪼갤 수 없을 경우) {
    return 단순한 문제의 해답;
  }

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



[코플릿] 재귀


profile
Drop the Bit!

0개의 댓글