// hanoi 함수 구현
// 시간 복잡도: O(2^n)
// 공간 복잡도: O(1), 재귀 호출 스택 고려 -> O(2^n)
let steps = 0;
function hanoiRecursive(n, src, des, tem) {
if (n > 0) {
hanoiRecursive(n - 1, src, tem, des);
hanoiMove(n, src, des);
hanoiRecursive(n - 1, tem, des, src);
}
}
function hanoiMove(disc, src, des) {
steps += 1;
console.log(`disc ${disc}: ${src} -> ${des}`);
}
hanoiRecursive(3, 'A', 'C', 'B');
console.log(`Total Steps: ${steps}`);
반응형
'Co-Study > JS 스터디 2021 ✔️' 카테고리의 다른 글
[JS 스터디 1기] - 네 번째 미팅 (0) | 2022.01.02 |
---|---|
[JS 스터디 1기] - 세 번째 미팅 (0) | 2021.12.26 |
[JS 스터디 1기] - fibonacci 함수 구현 코드 (0) | 2021.12.19 |
[JS 스터디 1기] - factorial 함수 구현 코드 (0) | 2021.12.19 |
[JS 스터디 1기] - 두 번째 미팅 (0) | 2021.12.19 |
댓글