[알고리즘] 핼퍼 메소드 재귀 (Helper Method Recursion)

    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의 장점

    1. 명확한 초기화: 초기 매개변수를 설정하는 데 유용합니다.
    2. 상태 유지: 재귀 호출 간에 누적 상태를 유지할 수 있습니다.
    3. 가독성 향상: 메인 함수와 재귀 로직을 분리하여 코드가 더 깔끔하고 이해하기 쉬워집니다.

     

     

     

    결론

    Helper Method Recursion은 재귀를 사용할 때 초기 매개변수 설정이나 상태 유지를 더 쉽게 할 수 있게 해주는 유용한 패턴입니다.

    이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.

    재귀 함수가 복잡해지거나 추가 변수가 필요한 경우 이 패턴을 활용하면 보다 효율적이고 직관적인 코드를 작성할 수 있습니다.

     

     

     

     

    728x90
    반응형

    댓글