개요하노이 탑 알고리즘은 다음과 같은 규칙을 가집니다.한 번에 하나의 원반만 이동 가능큰 원반이 작은 원반 위에 올 수 없음이러한 규칙을 보면 맨 위의 원반부터 이동하므로 선입선출 구조인 큐나 배열의 사용을 고려할 수 있습니다. 하지만 하노이 탑은 대표적인 재귀 문제로 알려져 있습니다. 본 글에서는 하노이 탑 알고리즘에서 재귀 호출이 더 적합한 이유에 대해서 정리하고자 합니다. 왜 하노이 탑 문제에서 재귀를 사용해야할까❓ 하노이 탑 문제 간단 소개하노이 탑은 세 개의 기둥과 크기가 다른 원판들로 구성된 퍼즐입니다.모든 원판을 처음 기둥에서 마지막 기둥으로 옮기되, 큰 원판 위에 작은 원판만이 올 수 있습니다.이러한 분할 정복(Divide and Conquer) 방식은 재귀 호출과 자연스럽게 어울립니다.1..
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 하노이 탑 이동 순서" 문제는 하노이탑 알고리즘을 사용하는 대표적인 문제입니다. 다음과 같은 제약사항이 있는 상황에서 목적지 까지 옮기는 횟수와 순서를 출력하는 문제입니다.한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다.쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 위와 같이 첫 번째 기둥에서 마지막 기둥까지의 이동순서가 나오며, 하노이 탑(Hanoi Tower) 알고리즘의 최소 이동 횟수는 다음 공식으로 계산됩니다.2^n - 1 이 때 공식을 알고있으면 최소 이동 횟수는 간단하게 구할 수 있지만, 문제의 핵심은 이동 순서를 출력해야한다는 것 입니다.문제의 목표는 모든 원판을 첫 번째 장대에서 세 번째 장대로 옮기는 것입니다. 이..