[JS] 재귀는 언제 사용하는가?

daun·2022년 7월 20일
0

[기술 면접 준비]

목록 보기
24/48

질문

" 재귀를 활용하기에 좋은 상황은 언제인지 예시를 들어 설명해주세요. "

  • 위 질문에 내가 생각한 질문의 요점 : 재귀를 써야하는 상황인지 판단할 수 있는가?

답변

" 재귀를 활용하기 좋은 상황은 크게 두 가지가 있습니다.
첫 번째는 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우입니다.
예시로는 피보나치 수열의 n번째 수를 구하는 문제가 있습니다. 피보나치 수열의 n번째 수는 n-1번째 수와 n-2번
째 수를 합한 값입니다. 몇 번째 수를 구하든 동일한 구조의 작은 문제로 나눌 수 있는 구조인 것입니다. 이런 상황에서 재귀를 활용하면 간결한 코드로 문제를 해결할 수 있습니다.
두 번째는 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우입니다. 예시로는 객체를 문자열로 바꾸는 함수가 있습니다. 객체는 배열이나 객체도 담을 수 있으며, 얼마나 중첩되
어 있을지 예측하기 어렵기 때문에 반복문을 사용하기에는 적합하지 않습니다. 이럴 때 재귀를 활용하면 가장 깊은곳에 있는 배열이나 객체까지 확인할 수 있습니다. "

  • 모든 재귀 함수는 반복문으로 표현할 수 있다.
    그러나 재귀를 적용할 수 있는 대부분의 경우, 재귀를 적용한 코드가 더욱 간결
profile
Hello world!

0개의 댓글