���노��� 문��� ¶
- ���노������ 문��� 모두들 ���������?
- 링 3개가 ������면 1�� 링������ 3�� 링까��� 링들��� ���동 ������는 것������.
- 그때 링 ���기는 각��� 다르고, ��������� 링��� ������ 밑��� ������ ��� 링, 그 ������ 다������로 ���링, ���런������로 ���고, ������로�� ����� 그런������로 밖��� ��������� 밖��� ��������다.
��������� ������ ¶
- C++ 기��� ������
- Recursive Function
문��� ������들 ¶
- ���래��� 같��� ������ ������로 ������를 만든 ������������ ������ ���������.
�������� | ���개발����� | ������라������(������������) | ������������ | Source |
남������ | x�����x�� | 30라��� | C++ | HanoiProblem/������ |
��������� | . | . | C++ | HanoiProblem/������ |
������동 | . | 20라��� | C++ | HanoiProblem/���동 |
������동 | ������ ���림 | 100라��� ���과 | ������블리 ������ | HanoiProblem/���동 |
��������� | 1����� | 100라��� | Java | HanoiProblem/��������� |
������들��� HanoiProblem��� ���는 것��� ���려���다면 ���게 ������ 문���라고(������ 그다��� ���려��� 문���는 �����라고) ������들��� 느�� ��� �����록 ���기 ������ 무������ ��� ��� ������까 ���각��� 보는 것��� �����������다.
���는 ������들��� HanoiProblem��� ��������기 ��������� 다��� ���가���를 ������기 ������고 ��������다.
- ���귀��������� 대��� ������
- 단������
- 미로������러내려���기
���귀������가 ������되는 대��������� ��� 몇가���를 보��������다. ���귀������ ����������� 그 ���류가 다른데, 대��������� ���류들��� 보������는 것��� �����������다. "���, ���귀������라는 것��� ���렇게�� ������될 ��� ���구나!" ���뮤���������/��������������, ���보나���������, ���리검���, ������리���, ������문과 ���귀������로 반복문(while) 만들기 �����면 ����������� ������까 �����다.
만��� HanoiProblem��� ���게 ���기 ��������� ������리���과 �������� ������ 문���만 보������다면, ������려 HanoiProblem��� ���렵게 느끼고 ��������� 많��� 발��������� 못��� 것��� 더 당������다고 ���각됩��다.
그리고 ���귀������를 만들 때 ���������과 ���고보���물��� 가르��� �����다. ������������라면 ���귀������는 리���되는 값��� ���류(������)가 모두 동��������� ���다는 것, ���귀��������� 벗���나는 ������ 근방������ ������������ ���다는 ��� �����고, ���고보���물로는 ��������� ������를 그림���로 그리는 방법���나, ��������� ���������는 방법 ����� ���겠���.
단������
��������� ���리������ ��� ������러(John Sweller) 교���는 ���������과(sequence effect)라 부르는 것��� ���명��������다.
���������과는 복������ 것과 ������ 것��� ������ 때 ���느 것��� 먼��� ��������느냐��� 따라 문���를 ���는데 ���리는 �������� ��� ������가 ���다는 것�����다.
���������는 ���를 ���나 ���고, ��������� ��������� ������������ ��������� ������만��� 다른 ���로 ������������는 문���를 �����������다. ���를 들���, 8������ ������������ �����기 2나, 빼기 7��� ������������ 6����� ������만��� 15를 만드는 문��������다.
��� 그룹��� ���를 들��� 복������ 문���를 먼��� �����������고, 다른 그룹��� 단������ 문���(������대 2��만��� 8��� 9로 바꾸는 것) 두개를 먼��� ����������������다.
�������� 그룹��� ��� 문���를 ���는데 ���균 406��� ������ ���렸���만, 두����� 그룹��� 복������ 문���를 ���는데 97��� ���렸고, ��� 문���를 모두 ���는데 192��� 밖��� ���리��� �����������다.
���를 HanoiProblem��� ���������면, 3개(������ 5개, 6개)��� ���반 문���가 복������다면, ���나, 둘 ����� ��� 더 단������ 문���를 먼��� ���고 ���기��� 문������������ "구������ ���������"��� 발견��� 낸 뒤��� ��� 더 ���렵���나 ��� 더 ���반������ (��� ���반 n개) 문������ ��������는 것��� ���과������라는 말��� 됩��다.
반대로 문���가 ���무 단��������� 복������ 경������는 ������려 100개, 200개 ����� 복���/���반������ 경���를 ���각���는 것��� �������� 될 ����� ��������다.
미로������러내려���기
������ 미로가 ���무 복������ 때 목������������ ���꾸로 내려���는 것��� 더 ��단��� 때가 ��������다. TestDrivenDevelopment�� ��� 방법��� �����������다. ��������� ������는 것��� ������������게 ���명��� ���고, 그 목������������ ������러 내려�����다.
HanoiProblem��� 복������게 느껴���다면, ������ 목��������� ��달��� ������, ���, 모든 ���반��� 다른 막대기로 ���겨가 ���는 ������를 �����������다. 다������는 ���기������ 바로 ��������� ������로 ������러 내려�����다.
������, �������� 끊������ 볼 ����� ��������다. ������되������ 모든 ���반��� ���겨가려면 ���느 ��������가는 가��� ��� ���반��� ��������는 막대기로 ���동��� 가��� �����다. ��� ������������ 가��� ��� ���반��� ���는 막대기���는 ��� ���반 ���나만 ������ 것���고, 그 ���반��� ���겨�� 막대기는 �������������� ���므로, 결국 두개��� 막대기가 모두 ������되고, 나머��� ���나��� 막대기���는 나머��� ���반들��� 모두 ���기 ������로 ���������게 될 것���라는 ��������� ��� ��� ��������다. ���기��� ��� 뒤 ��������� ���각��� 보면 ���떤 ��������� ������ ��� ��������다.
--JuNe