TIL 작성 2021 11/9
재귀함수란 무엇인가 ?
작은문제를 해결함으로써 주어진문제를 해결 하는것!
- 재귀: 사고방식, 문제를 가장 작게 쪼개어서 단순하게 문제를 해결하는 방식
- 재귀를 사용하는 함수 => 재귀 함수 => 자기자신을 반복하여 호출하는 함수
예제
수(num)를 입력받아 1부터 num까지의 합을 리턴해야 합니다.
function sumTo(num) {
if (num === 0){
return 0
}else{
return num+sumTo(num-1)
}
// TODO: 여기에 코드를 작성합니다.
// 별도의 최적화 기법(memoization)은 금지됩니다.
}
1. 재귀함수의 입력값과 출력값을 정의하기
// 코딩문제를 풀기 전에는 늘 입력값과 출력값이 무엇인지 먼저 확인하고 시작
// 큰 그림 그리기의 시작
// sumTo: num =>num
2. 문제를 쪼개고 경우의 수를 나누기
// " 하나의 문제 풀이 방식으로 모든 문제를 해결할수 있나요?"
// " 문제 해결 구조는 동일하지만 더 작은 경우를 먼저 해결함으로써 그문제를 해결하는 방법"
// " 1부터 5까지의 합을 구하려면, 먼저 1부터 4까지의 합을 구해야 한다."
// 1+ 2+ 3+ 4+ 5 === sumTo(5)
// sumTo(4) + 5 === sumTo(5)
// sumTo(n-1) + n === sumTo(n)
3. 단순한 문제 해결하기
// sumTo(1) === 1 -> base case
4. 복잡한 문제 해결하기
// sumTo(n-1) + n === sumTo(n) -> recursive case(재귀)
5. 코드 구현하기
- 디버거로 확인
debugger;
sumTo(5);
- 재귀함수의 도식화
Author And Source
이 문제에 관하여(TIL 작성 2021 11/9), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jelkov/TIL-작성-2021-119저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)