ALGORITHM/Inflearn

재귀함수 (下)

Harimad 2022. 4. 18. 17:09

재귀함수란 ?

하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식으로 주어진 문제를 푸는 방법이다.
재귀 호출이나 되부름이라고도 한다.

 

 

문제

재귀함수 자연수 N이 입력되면 재귀함수를 이용하여 1부터 N까지를 출력하는 프로그램을 작성하시오.
 
🍔입력설명
첫 번째 줄은 정수 N(3<=N<=10)이 입력된다.
 
🍔출력설명
첫째 줄에 출력한다.
 
🍔입력예제 1
3
 
🍔출력예제 1
1 2 3

풀이

재귀함수는 종료조건을 설정해줘야 무한루프에 빠지지 않는다.

종료조건은 인자값이 0 이되면 return을 하도록한다.

 

인자값이 종료조건이 아니라면 재귀함수의 인자값을 줄여가면서 재호출한다.

종료조건을 만나면, 재귀함수를 반환하는 작업을 한다.

그럼 1 2 3 이 순차적으로 콘솔에 찍히게 된다.

코드

<script>
  function solution(n) {
    function DFS(num) {
      if (num === 0) return; // 종료조건
      else {
        DFS(num - 1)
        console.log(num)
      }
    }
    DFS(n);
  }

  solution(3);
</script>

 

 

출처 : edwith, cs50

 

 

 

출처

 

자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의

자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., - 강의

www.inflearn.com