sm 기술 블로그

70. 11729(하노이탑 이동 순서) 본문

문제/백준_자바스크립트

70. 11729(하노이탑 이동 순서)

sm_hope 2022. 6. 8. 20:36
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

 

74. 11729(하노이 탑 이동 순서)

N = int(input()) def Hanoi(A, B, C, N): # A:1 B:2 C:3 if N == 1: print("{0} {1}".format(A, C)) # 처음 print라고 정의함 return Hanoi(A, C, B, N-1) print("{0} {1}".format(A, C)) # 마지막 print 라고 정..

smhope.tistory.com

 

'문제 > 백준_자바스크립트' 카테고리의 다른 글

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