Helper Method Recursion 이란?
재귀적이지 않은 외부함수가 재귀적인 내부 함수(inner function)을 호출하는 패턴이다.
Helper Method Recursion 는 일종의 결과를 컴파일할 때 흔히 사용되는 패턴이고,
결과는 보통 배열이나 배열과 비슷한 다른 형태의 데이터 구조이다.
helper 입력받은 배열의 첫번째 숫자가 홀수인것만 result[]에 넣고,
첫번째 숫자를 제외한 배열을 새로 만들어서 다시 helper로 호출하고 있다.
(나중에 그래프 데이터 구조를 구현할때 사용할 예정이라고 한다.)
+ Pure Recursion 으로 위의 함수를 구현한다면
대충 이런식으로 동작한다. (Helper Method Recursion 보다 코드수는 적지만 복잡한 감이 있다.)
Pure Recursion Tip
- 배열을 복사할때는 slice, spread 연산자(operator), concat 같은 메소드를 사용할 수 있다.
- 문자열은 변경할 수 없기 때문에 slice 나 substring을 사용하여 사본을 만들어야 하는데,
객체의 경우, Object.assign이나 spread 연산자를 사용하는게 유용하다.
본 내용은 작성자가 (Udemy) JavaScript 알고리즘 & 자료구조 마스터클래스 강의를 듣고 정리 및 메모한 내용입니다. 오역 및 오개념이 있을 수 있으니 바로잡기 위해 문제가 있는 경우 댓글 남겨주시면 매우 감사하겠습니다.
https://www.udemy.com/course/best-javascript-data-structures/
'Algorithm' 카테고리의 다른 글
[문제풀이] Recursion 심화 (1) (0) | 2022.07.26 |
---|---|
[문제풀이] Recursion (0) | 2022.07.24 |
Call Stack (0) | 2022.07.24 |
재귀 (Recursion) (0) | 2022.07.24 |
[문제풀이] Frequency Counter / Multiple Pointers / Sliding Window (0) | 2022.07.23 |