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.0208 sec