본문 바로가기

재귀함수

(3)
[자료구조/알고리즘] 퀴즈 오답노트 1. 개념 복습 재귀 함수의 정의 자기 자신을 호출하는 함수 재귀의 기초 (Base case) 재귀 함수를 구현할 때, 재귀의 탈출 조건 (=재귀 호출이 멈추는 조건)을 구성함 재귀를 사용하기 적합한 상황 - 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우 - 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우 - 반복문으로 작성된 코드를 더욱 간결하고 이해하기 쉽게 작성하고 싶은 경우 JSON (JavaScript Object Notation) : 자바스크립트 객체 표기법 - 데이터 교환을 위해 만들어진 객체 형태의 포맷 - 자바스크립트의 객체와 다른 규칙을 가진다. - JSON.stringify를 적용하는 과정을 직렬화한다(serialize)고 함. (객체 -> 문자열)..
[자료구조/알고리즘] 재귀 함수 작성 가이드 0. 학습목표 1) 재귀로 문제를 해결하는 방법을 이해한다. 2) 재귀의 기초(base case)와 탈출 조건에 대해 이해한다. 3) 재귀함수를 base case와 recursive case로 나누어 작성할 수 있다. 1. 재귀 함수 작성 방법 ※ 예제 : 팩토리얼(factorial) 값을 계산하는 함수 'factorial'을 작성 n! 은 1부터 n까지 1씩 증가한 모든 값의 곱입니다. ex1) 5! = 5 * 4 * 3 * 2 * 1 ex2) num! = num * num-1 * ... * 2 * 1 1) 재귀함수의 입력값과 출력값을 정의합니다. 우리가 작성할 함수 factorial의 경우 number 타입의 정수(num >=0)를 입력으로 받고, number 타입을 리턴합니다. factorial: ..
[자료구조/알고리즘] 재귀 함수 (Recursion Function) 1. 재귀함수의 개념 재귀함수 : 자기 자신을 호출하는 함수 2. 재귀함수의 필요성 반복적인 작업을 해야하는 문제를 좀 더 간결한 코드로 풀어낼 수 있습니다. 3. 재귀함수를 작성하는 법 1) 문제를 작게 쪼갭니다. 2) 1번과 같은 방식으로, 문제가 더는 작아지지 않을 때까지 가장 작은 단위로 문제를 쪼갭니다. 3) 가장 작은 단위의 문제를 풂으로써 전체 문제를 해결할 수 있습니다. 3 - 1. 예제 : 자연수로 이루어진 리스트(배열)를 입력받고, 리스트의 합을 리턴하는 함수 `arrSum` 을 작성 1) 문제를 작게 쪼갭니다. arrSum([1, 2, 3, 4, 5]) === 1 + arrSum([2, 3, 4, 5]) 2) 1번과 같은 방식으로, 문제가 더는 작아지지 않을 때까지 가장 작은 단위로 ..