【프로그래밍 초보자】 Swift 연습 문제 ~ 하노이의 탑 ~

하노이 타워



하노이의 탑이란?



하노이의 탑은 프랑스 수학자 에두아르 류카가 1883년에 발매한 게임 '하노이의 탑'이 뿌리다.
htps : // 그럼.ぃきぺぢ아. rg/우우키/%에3%83%8F%에3%83%8에%에3%82%아4%에3%81%아에%에5%아1%94#%에7%94% B1%에6%9D%아5

프로그램과는 관계가 없는 퍼즐의 일종으로 하노이의 탑의 장난감도 있는 것 같습니다.
프로그램과는 관계없지만 프로그램에서 풀어주는 소재로도 잘 다루어지는 문제의 일종입니다.

다음과 같은 게임입니다.
3개의 막대 A, B, C가 있고, 막대 A에 몇 장의 크기가 다른 원반이 아래에서 큰 순서대로 막대를 통해 겹쳐져 있습니다.

이를 다음 규칙에 따라 디스크를 A에서 B로 이동합니다.
  • 규칙
  • 한 번에 한 장의 디스크만 움직일 수 있다.
  • 이동 도중에도 항상 큰 쪽의 원반이 아래가 되도록 쌓는다.
  • 막대 A, B, C 이외의 장소로 이동하지 마십시오


  • (예) 원반이 2장인 경우


    문제



    아래 표시 예와 같이 하노이 타워에서 N 장의 디스크를 이동하는 절차를 표시하는 재귀 함수를 만듭니다.
    ※N이 0 이하의 경우는 아무것도 표시하지 않아도 됩니다.

    숫자는 각각 원반을 나타내고, 작은 원반부터 순서대로 1,2,3,...로 합니다.

    표시예(N=2인 경우)
    1の円盤をAからCに移動
    2の円盤をAからBに移動
    1の円盤をCからBに移動
    

    표시 예 (N = 3 인 경우)
    1の円盤をAからBに移動
    2の円盤をAからCに移動
    1の円盤をBからCに移動
    3の円盤をAからBに移動
    1の円盤をCからAに移動
    2の円盤をCからBに移動
    1の円盤をAからBに移動
    

    답변 예는 여기



    해결 방법의 힌트를 싣고 있으므로 어려운 경우는 참고로 해 주세요.
  • 힌트 1
  • 팁 2
  • 팁 3

  • 【주의】
    답변 예의 페이지와 같은 페이지에 게재하고 있습니다.
    아래쪽에 답변 예가 쓰여 있으므로 보고 싶지 않은 사람은주의하여 페이지를 스크롤하십시오.

    마지막으로



    또 다른 문제는 아래에 나와 있습니다.
    또한 본 기사와는 별도로 프로그래밍 미경험에서 iOS 앱 개발을 할 수 있게 되는 것을 목적으로 한 기사를 연재하고 있습니다.
    연재도 이하에 정리하고 있으므로 그쪽도 부디도 봐 주세요.
    htp : //아오야 g. 코m/

    좋은 웹페이지 즐겨찾기