sm 기술 블로그
70. 11729(하노이탑 이동 순서) 본문
let input = require("fs").readFileSync("ex.txt").toString().split(" ");
N = parseInt(input[0]);
let result = "";
const Hanoi = (A, B, C, N) => {
if (N === 1) {
result += A + " " + C + "\n";
return;
}
Hanoi(A, C, B, N - 1);
result += A + " " + C + "\n";
Hanoi(B, A, C, N - 1);
};
console.log(2 ** N - 1);
Hanoi(1, 2, 3, N);
console.log(result);
console.log를 이용하면 느려 시간초과가 발생한다.
따라서 result에 받아서 한번에 출력하는 방식을 채택하였다.
자세한 로직은 아래를 참고하자.
https://smhope.tistory.com/194
'문제 > 백준_자바스크립트' 카테고리의 다른 글
72. 2231(분해합) (0) | 2022.06.09 |
---|---|
71. 2798(블랙잭) (0) | 2022.06.09 |
69. 2447 (별 찍기 -10) (0) | 2022.06.08 |
68. 17478 (재귀함수가 뭔가요?) (0) | 2022.06.06 |
67. 10870(피보나치수열) (0) | 2022.06.06 |
Comments