E D R , A S I H C RSS

Hanoi Problem

ํ•˜…ธด ฌธ œ

  • ํ•˜…ธดํƒ‘ ฌธ œ ชจ‘“ค •„‹œฃ ?
  • ง 3ฐœ€ žˆœฉด 1ฒˆ ง—„œ 3ฒˆ งŒ€ ง“ค„ ด™ ‹œํ‚คŠ” ฒƒดฃ .
  • ทธ•Œ ง ํฌธฐŠ” ฐž ‹คฅดณ , ฒ˜Œ— ง€  œ ฐ‘—  œ ํฐ ง, ทธ œ„— ‹คŒœกœ ํฐง, ดŸฐ‹œกœ žˆณ , •žœกœ„ „† ทธŸฐ‹œกœ ฐ–— Œ“ˆ˜ ฐ–— —†Šต‹ˆ‹ค.

ํ•„š”ํ•œ €‹

  • C++ ธฐดˆ €‹
  • Recursive Function

ฌธ œ †ŒŠค“ค

  • •„ž˜™€ ฐ™€ ˜ˆ œ ‹œกœ †ŒŠค งŒ“  ํŽ˜ด€— „–ด „š”.
„ „žดฐœฐœ‹œ„†ŒŠคธˆ˜(„ œ™ธ)‚ฌšฉ–ธ–ด Source
‚จƒํ˜‘x‹œ„x„ 30ธ C++HanoiProblem/ƒํ˜‘
žฅ€€ . . C++HanoiProblem/€€
‹ žฌ™ . 20ธ C++HanoiProblem/žฌ™
ž„˜™ดํ‹€ 100ธ ดˆ –ด…ˆธ”ฆฌ –ธ–ดHanoiProblem/˜™
ž„ธํƒ1‹œ„ 100ธJavaHanoiProblem/ž„ธํƒ


ํ•™ƒ“คด 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



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:21
Processing time 0.0285 sec