Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Baekjoon] Recursion 11729.Hanoi-tower #4

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

seunguri
Copy link
Member

처음 든 생각

알고리즘 수업 자료에 있었던 그림이 생각이 난다.
근데 뭐가 적용됐었는 지 기억이 안

문제 꼼꼼히 보기

장대 3개 -> a, b, c
원판 개수 1 <= N <= 20

풀이 로직

가장 큰 원판이 c원판으로 가려면 나머지 원판들이 모두 b원판에 있어야함.
나머지 원판이 모두 b원판으로 가려면 2번째로 큰 원판을 제외하고 모두 c원판에 있어야함.
또 그 나머지 원판이 모두 c원판에 가려면 3번째로 큰 원판을 제외하고 모두 b원판에 있어야함.

재귀다!!

특이 사항

리스트에 이동과정을 담아서 출력하는 정답을 먼저 생각했는데 재귀이므로 2**n - 1의 이동횟수 를 구할 수 있었다.

@seunguri seunguri added the python lang : python label Sep 16, 2021
@seunguri seunguri self-assigned this Sep 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
python lang : python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant