재귀 2

[C++] 백준 11729번 - 하노이 탑 이동 순서

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net [소스코드] #include #include #include using namespace std; // [baekjoon] 11729번 - 하노이 탑 이동 순서 // 2023.01.31 string str; void hanoi(int n, char from, char aux, char to) { if (n == 1) { cout

[자료구조] - 2. 재귀

재귀 재귀적(recursive) 알고리즘 : 알고리즘 자신을 사용하여 정의된 알고리즘 재귀의 요소 재귀 케이스(recursion) : 차후의 재귀호출은 작아진 부문제들(subproblems)을 대상으로 이루어진다 베이스 케이스(base case) : 부문제들이 충분히 작아지면, 알고리즘은 재귀를 사용하지 않고 이들을 직접 해결한다. 재귀 알고리즘에 대해서 살펴보겠습니다. '재귀(再歸)'라는 단어는 일상에 잘 쓰이지 않는 단어라 쉽게 이해되지 않는 것이 사실입니다. 재귀를 한자를 그대로 풀어보면 다시(再) 돌아오다(歸)라는 뜻입니다. 재귀를 부르는 원래 단어 recursion 역시 '반복, 되풀이' 라는 뜻입니다. 따라서, 재귀 알고리즘은 (자기 자신으로) 다시 돌아오는 알고리즘 이라고 할수 있겠습니다. ..