💡 재귀 문제의 핵심
1. 문제 정의: 재귀 함수의 입출력값 정의
2. 문제를 작게 만들어 해결하기
3. 작게 쪼갠 문제를 재귀식으로 표현하기
4. 재귀식을 그대로 코드로 구현
function _move(N, start, to) {
return console.log(`${N}번 원반을 ${start}에서 ${to}로 이동시킨다`);
}
function hanoi(N, start, to, via) {
if (N === 1) _move(1, start, to);
else {
hanoi(N - 1, start, via, to);
_move(N, start, to);
hanoi(N - 1, via, to, start);
}
}
hanoi(3, "A", "C", "B");
'스크랩' 카테고리의 다른 글
[TypeScript] Clean Code 예제 (1) : 변수와 함수 (1) | 2024.01.10 |
---|---|
좋은 질문을 하는 법 (0) | 2023.01.11 |
클래스 기반 언어 vs. 프로토타입 기반 언어 (0) | 2022.12.06 |
불변성 Immutable 이란 무엇인가 (0) | 2022.12.05 |
평생 학습자로 살아가는 우리 모두에게 필요한 이야기 (0) | 2022.11.30 |