728x90
반응형
[알고리즘] 핼퍼 메소드 재귀 (Helper Method Recursion)
Helper Method Recursion은 재귀를 사용할 때 주로 활용되는 패턴 중 하나입니다.
이 패턴은 재귀 함수를 쉽게 관리하고, 필요한 추가 변수를 전달하기 위해 사용됩니다.
기본 아이디어는 메인 함수가 헬퍼 함수를 호출하고, 이 헬퍼 함수가 실제 재귀 로직을 수행하는 것입니다.
이 방식은 특히 초기 매개변수 설정이나 결과 축적이 필요한 경우 유용합니다.
일종의 결과를 컴파일할 때 흔히 사용되는 패턴.
결과는 보통 배열이나, 배열과 비슷한 다른 형태 데이터 구조
기본모양
function outer(input) {
var outerScopedVariable = [];
function helper(helperInput) {
helper(helperInput);
}
helper(input);
return outerScopedVariable;
}
예시
주어진 배열에서 홀수인 것만 모은 배열을 리턴하시오.
function collectOddValues(arr){
let result = [];
function helper(helperInput){
if(helperInput.length === 0) {
return;
}
if(helperInput[0] % 2 !== 0){
result.push(helperInput[0])
}
helper(helperInput.slice(1))
}
helper(arr)
return result;
}
collectOddValues([1,2,3,4,5,6,7,8,9])
Helper Method Recursion의 필요성
초기 매개변수 설정
헬퍼 메서드는 재귀 호출에 필요한 초기 매개변수를 설정하는 데 도움을 줍니다.
결과 축적
결과를 누적하거나 수정하는 변수를 유지할 수 있습니다.
코드 가독성
메인 함수와 재귀 로직을 분리하여 코드의 가독성을 높입니다.
Helper Method Recursion의 장점
- 명확한 초기화: 초기 매개변수를 설정하는 데 유용합니다.
- 상태 유지: 재귀 호출 간에 누적 상태를 유지할 수 있습니다.
- 가독성 향상: 메인 함수와 재귀 로직을 분리하여 코드가 더 깔끔하고 이해하기 쉬워집니다.
결론
Helper Method Recursion은 재귀를 사용할 때 초기 매개변수 설정이나 상태 유지를 더 쉽게 할 수 있게 해주는 유용한 패턴입니다.
이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.
재귀 함수가 복잡해지거나 추가 변수가 필요한 경우 이 패턴을 활용하면 보다 효율적이고 직관적인 코드를 작성할 수 있습니다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 버블 정렬 [Bubble Sort] (0) | 2024.07.25 |
---|---|
[알고리즘] 이진 검색 [Binary Search] (4) | 2024.07.24 |
[알고리즘] 재귀 (Recursion) (0) | 2024.07.19 |
[알고리즘] 기준점 간 이동 배열 패턴 (Sliding Window) (0) | 2024.07.11 |
[알고리즘] 다중 포인터 패턴: 고유값 세기 (countUniqueValues) (0) | 2024.07.10 |
댓글