Ȩ > Àü¹®±³À°°úÁ¤ > ¿ùµå Á¤º¸¿Ã¸²ÇÇ¾Æµå °úÁ¤ 

1) ¿ùµå¿Ã¸²ÇǾƵåÇпø ±³À°°úÁ¤
  • °¡) ·¹º§°úÁ¤
  • ³ª) ¾Ë°í¸®Áò°úÁ¤
  • ´Ù) ¾ð¾î°úÁ¤
  • ¶ó) Ä·ÇÁ°úÁ¤
2) ¾Ë°í¸®Áò°úÁ¤

°¡) '¾Ë°í¸®Áò' À̶õ?


¾Ë°í¸®Áò(algorithm)Àº '¹®Á¦ ÇØ°á ÀýÂ÷' ÀÌ´Ù.
Á¤º¸ ¿Ã¸²ÇǾƵ带 Áغñ ÇÏ´Â ´ëºÎºÐ ÇлýµéÀÇ ÄÚµù ½Ç·ÂÀº °ÅÀÇ ¼öÁر޿¡ ÀÖ´Ù.
ÇÏÁö¸¸ Á¤º¸ ¿Ã¸²ÇÇ¾Æµå ´ëȸ´Â ´Ü¼øÇÑ ÄÚµù ½Ç·ÂÀ» Æò°¡ Çϴ°ÍÀÌ ¾Æ´Ï¶ó, ¾î¶² ¹®Á¦¿¡ Á¢ÇßÀ» ¶§ °¡Àå ¼Õ½±°Ô ±× ¹®Á¦¸¦ ÄÄÇ»ÅÍ·Î ÇØ°á ÇÏ´Â ´É·ÂÀ» Æò°¡ ÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼­ ¾Ë°í¸®Áò Áï ¾î¶² ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ´Â °¡¿¡ µû¶ó ¾î¶² ¹®Á¦¸¦ ÇØ°á Çϴµ¥ ÀÖ¾î Ä¿´Ù¶õ ¿µÇâÀ» ¹ÌÄ¡°Ô µÈ´Ù.

¾Ë·ÁÁø ¾Ë°í¸®ÁòÀº ¹«¼öÈ÷ ¸¹´Ù. ±× ¾Ë°í¸®ÁòÀ» ¸ðµÎ ¹è¿ì°í ¼÷´Þ Çϱâ¶õ ºÒ°¡´ÉÇÏ´Ù.
º» Çпø¿¡¼± °¡Àå À¯¿ëÇÏ°Ô »ç¿ëµÇ°í Á¤º¸ ¿Ã¸²ÇǾƵå ÃâÁ¦ ¹®Á¦¿¡ ÀÚÁÖ »ç¿ëµÇ´Â ÁÖµÈ ¾Ë°í¸®ÁòÀ» ¹è¿î´Ù.

  1. GREEDY (¿å½ÉÀåÀÌ) Algorithm
    ¿å½ÉÀåÀÌ ¾Ë°í¸®ÁòÀº ¾î¶² ¹®Á¦¸¦ Á¢Çϴµ¥ ÀÖ¾î °¢°¢ÀÇ »óȲ¿¡ °¡Àå Å«°Í(ȤÀº ÃÖÀûÈ­) ºÎÅÍ ¼±ÅÃÇÏ´Â ¾Ë°í¸®ÁòÀÌ´Ù. Áï, °¢°¢¿¡ ¹®Á¦¿¡ ÀÖ¾î °¡Àå ÁÁ´Ù°í »ý°¢Çϴ°ÍÀ» ¼±ÅÃÇÑ´Ù.
    ÀÌ°ÍÀ» ¹Ýº¹ÇÏ´Ù º¸¸é ÀüüÀûÀ¸·Î °¡Àå ÁÁÀº ¹æ¹ýÀÌ µÈ´Ù´Â ¾Ë°í¸®ÁòÀÌ´Ù.

  2. Dynamic (µ¿Àû ¾Ë°í¸®Áò) Algorithm
    µ¿Àû ¾Ë°í¸®ÁòÀº ¾î¶² ÇϳªÀÇ ¹®Á¦¸¦ ÇØ°áÇϴµ¥ ÀÖ¾î ±× ¹®Á¦¸¦ µ¶¸³ÀûÀ¸·Î ÇØ°á °¡´ÉÇÑ °¢°¢ÀÇ ÀÛÀº¹®Á¦·Î ³ª´«´Ù. ±×¸®°í ±× °¢°¢ÀÇ µ¶¸³µÈ ÀÛÀº ¹®Á¦¸¦ °¡Àå ÀûÀýÇÏ°Ô ÇØ°á ÇÏ°Ô µÇ¸é, ÀüüÀûÀ¸·Î °¡Àå ÃÖÀûÈ­µÈ °á°ú°¡ ³ª¿À°Ô µÇ´Â ¾Ë°í¸®ÁòÀÌ´Ù.

  3. Backtraking ( ¹éÆ®·¡Å·)
    ¹é Æ®·¹Å·Àº °¡´ÉÇÑÇÑ ¸ðµç °æ¿ì¸¦ Ž»öÇϵÇ, °¡´É ¼ºÀÌ ¾ø´Â °æ¿ì¸¦ Á¦¿ÜÇÏ°í ³­ ³ª¸ÓÁö¸¦ ¸ðµÎ Ž»öÇÏ´Â °ÍÀÌ´Ù. ½Ã°£ÀÌ °¡Àå ¸¹ÀÌ °É¸®±ä ÇÏÁö¸¸ ¼Õ½±°Ô ¸ðµç°æ¿ì¸¦ Ž»öÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.

3) ¾ð¾î°úÁ¤

°¡) °úÁ¤ ¼³¸í

  • ÀÔÇÐ =(·¹º§ Å×½ºÆ®) ¡æ ¾ð¾î°úÁ¤(·¹º§1~7) =(12ÁÖ~3°³¿ù) ¡æ ¾Ë°í¸®Áò °úÁ¤(·¹º§ 8~10)=(1´Þ~3´Þ) ¡æ ·¹º§ °úÁ¤(·¹º§ 11~25)
³ª) ¾ð¾î °úÁ¤ÀÇ Á߿伺

  • ¿ì¸®°¡ ÀÏ»óÀûÀÎ ¸»À» Çϴµ¥ À־ ¾î¶² ´Ü¾î¸¦ ¾î¶²¹®¹ýÀ¸·Î »ç¿ëÇϴ°¡¿¡ µû¶ó ÀüÇØ Áö´Â Àǹ̰¡ ´Þ¶óÁø´Ù. ÄÄÇ»ÅÍÀÇ ¾ð¾î ¿ª½Ã ¾î¶² ¸í·É¾î¸¦ ¼±Åà ÇÏ¿© ¾î¶² ¹®¹ýÀ¸·Î »ç¿ëÇϴ°¡¿¡ µû¶ó ÄÄÇ»ÅÍ°¡ ¿¬»êÇÏ´Â ³»¿ë ¿ª½Ã ´Þ¶óÁø´Ù.
  • ¾ð¾î °úÁ¤¿¡¼­ ¹è¿ì°Ô µÇ´Â ÄÄÇ»ÅÍ ¸í·É¾î ¹× ¹®¹ýÀº Á¤º¸ ¿Ã¸²ÇǾƵ带 Áغñ ÇÏ´Â µ¿¾È ¿ì¸®°¡ ÀÏ»ó»ýÈ°¿¡ ¾²´Â ¾ð¾îó·³ °è¼Ó »ç¿ëÇÏ°Ô µÈ´Ù. µû¶ó¼­ óÀ½ ¾ð¾î °úÁ¤À» ¹è¿ï¶§ ¾ó¸¶³ª ¾ð¾î¸¦ Àß ¹è¿ì´Â °¡¿¡ µû¶ó ¾ÕÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â ½Ç·ÂÀÌ Á¿ìµÇ°Ô µÈ´Ù.
    ±× ¸¸Å­ ¾ð¾î°úÁ¤Àº Áß¿äÇÏ´Ù.
´Ù) Visual C++

  • ±âÁ¸ÀÇ Á¤º¸¿Ã¸²ÇÇ¾Æµå ´ëȸ¿¡¼­ »ç¿ëµÇ¾ú´ø ¾ð¾îÀÎ Turbo CÄÄÆÄÀÏ·¯(Borand»ç °³¹ß)°¡ Visual C++(Microsoft»ç °³¹ß)·Î ¹Ù²ñ¿¡ µû¶ó »õ·Ó°Ô °³¼³ÇÑ °­ÁÂÀÔ´Ï´Ù.
  • Visual C++Àº ¿©·¯ °¡Áö ÇÁ·Î±×·¥ °³¹ß ¸ðµå¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. (MFC, API, Console Mode µî) µû¶ó¼­ ±âÁ¸ÀÇ Turbo C¸¦ ÇнÀÇÑ ÇлýÀº Visual C++ÀÇ Console Mode¸¦ »ç¿ëÇØ ½±°Ô Visual C++·Î ¹Ù²Ù¾î ÇÁ·Î±×·¥À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • 2002³âµµ¿¡ ½Ç½ÃµÇ´Â 19ȸ Á¤º¸¿Ã¸²ÇǾƵ忡¼­´Â Console Mode¿¡¼­ ÇÁ·Î±×·¥ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù.
    µû¶ó¼­ MFC³ª API¸¦ °øºÎÇÏÁö ¾Ê¾Æµµ Á¤º¸¿Ã¸²ÇǾƵ带 ÁغñÇÏ´Â µ¥, Å« ¾î·Á¿òÀÌ ¾ø½À´Ï´Ù.
  • C¾ð¾îÀÇ Æ¯¼º»ó ÃʵîÇлý º¸´Ù´Â ÁßÇлý ÀÌ»óÀÇ Çг⿡¼­ ¹è¿ì´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
¶ó) Visual Basic

  • ±âÁ¸ÀÇ Á¤º¸¿Ã¸²ÇǾƵå´ëȸ¿¡¼­ »ç¿ëµÇ¾ú´ø ¾ð¾îÀÎ Quick BasicÀÌ Visual BasicÀ¸·Î ¹Ù²ñ¿¡ µû¶ó »õ·Ó°Ô °³¼³ÇÑ °­ÁÂÀÔ´Ï´Ù.
  • Visual BasicÀº ÃʵîÇлýµéÀÌ ÇнÀÇϱâ ÁÁÀº ¾ð¾îÀÌ°í, ƯÈ÷ ±×·¡ÇÈ, È­¸éó¸®, ¹®ÀÚ¿­Ã³¸® µîÀÌ ¼Õ½¬¿ö ÃʵîÇлýµéÀÌ Ã³À½À¸·Î ÇÁ·Î±×·¥À» ¹è¿ï ¶§¿¡ ÀڽۨÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
  • Visual C++ÀÌ ÄÄÆÄÀÏ·¯(ÇÁ·Î±×·¥À» Çü½Ä¿¡ ¸Â°Ô ¸ðµÎ ¸¸µé¾î¾ß ½ÇÇàÇÒ ¼ö ÀÖÀ½) ¹æ½ÄÀÇ ¾ð¾îÀε¥ ºñÇØ Visual BasicÀº ÀÎÅÍÇÁ¸®Å͹æ½Ä(ÇÑÁÙ ÇÑÁÙ ½ÇÇàµÇ´Â ¹æ½Ä, ´ëÈ­Çü¾ð¾î¶ó°íµµÇÔ)ÀÇ ¾ð¾îÀ̹ǷΠÇÁ·Î±×·¥ÀÇ ±âÃʸ¦ ÀÌÇØÇÏ°í ¾Ë°í¸®ÁòÀ» ½±°Ô ÇÁ·Î±×·¥À¸·Î ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • ¡Ø Àü±¹´ëȸ ÁßµîºÎ ÀÌ»ó ÀÔ»óÀÚÁß ´ëºÎºÐÀÌ C ¾ð¾î¸¦ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.


4) Ä·ÇÁ°úÁ¤

°¡) Ä·ÇÁ°úÁ¤ÀÇ Çʿ伺

  1. ¿Â¶óÀÎ ÇнÀ ¸¸À¸·Î´Â ÇнÀÀÚÀÇ ¼ºÃëµµ Çâ»ó¿¡ ¿Ïº®À» ¹Ù¶ó ¼ö ¾øÀ¸¹Ç·Î ÇлýµéÀ» Á÷Á¢ º¸¸é¼­ Áöµµ ÇÒ ¼ö ÀÖ´Â °úÁ¤ÀÌ ¹Ýµå½Ã ÇÊ¿äÇÕ´Ï´Ù.
  2. ÇнÀÀÚÀÇ ÇнÀ ¼ºÃëµµ »óŸ¦ ·¹º§¾÷ Å×½ºÆ® ¸¸À¸·Î È®½ÅÇÒ ¼ö´Â ¾øÀ¸¹Ç·Î Ä·ÇÁ °úÁ¤¿¡¼­ Á÷Á¢ ÁöµµÇϸ鼭 ÇнÀÀÚÀÇ ÇнÀ Á¤µµ¸¦ Á¤È®ÇÏ°Ô ÆľÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
  3. ÀÏÁ¤ ±â°£¿¡ ÁýÁßÀûÀ¸·Î ¾Ë°í¸®Áò ±³À°À» ¹ÞÀ¸¹Ç·Î½á, ½Ç·Â Çâ»ó¿¡ Å« ¼º°ú¸¦ °ÅµÑ ¼ö ÀÖ½À´Ï´Ù.
  4. ´Ù¸¥ ÇлýµéÀÇ ½Ç·ÂÀ» ¸ö¼Ò ´À³¦À¸·Î¼­ ÀÚ½ÅÀÇ ÇнÀ ÀÇ¿åÀ» °íÃë ½Ãų ¼ö ÀÖ½À´Ï´Ù.
  5. Åä·Ð ÇнÀÀ» ÅëÇÏ¿© ¹®Á¦¿¡ ´ëÇÑ ´Ù¾çÇÑ Ç®ÀÌ ¹æ¹ýÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù.

³ª) Ä·ÇÁ °úÁ¤

¡Ø Çбâ Áß ÁÖ¸» Ä·ÇÁ
Ä·ÇÁ ½Ã±â : ¾à 2´Þ¿¡ Çѹø ÁÖ¸»À» ÀÌ¿ëÇÏ¿© ½Ç½ÃÇÕ´Ï´Ù.
Ä·ÇÁ Àå¼Ò : Áö¹æº°·Î ¸¸Àº ÇлýµéÀÌ À̵¿Çϱâ Æí¸®ÇÑ Àå¼Ò¸¦ ¼±ÅÃÇÏ¿© ½Ç½ÃÇÕ´Ï´Ù.
ÇнÀ ³»¿ë : ¾Ë°í¸®Áò °­ÁÂ, ¹®Á¦ Çعý Åä·Ð, ÇÁ·Î±×·¡¹Ö ±â¹ý Åä·Ð, ÇнÀÀÇ ¹Ù¶÷Á÷ÇÑ ÁøÇà ¹æ¹ý °­ÁÂ, ¿Â¶óÀÎ ÇнÀÀ¸·Î ºÎÁ·Çß´ø ÇнÀ ³»¿ë º¸Ãæ µîÀ¸·Î ÀÌ·ç¾î Áý´Ï´Ù.
Ä·ÇÁ ºñ¿ë : Â÷ ÈÄ ¼÷¹Ú ¿©ºÎ, ½Ä»ç, Àåºñ, Àå¼Ò ´ë¿©·á µîÀ» °¨¾ÈÇÏ¿© ¿Â¶óÀÎ ¼ö¾÷·á¿Í´Â º°µµ·Î ºÎ°úÇÕ´Ï´Ù.
Âü°¡ ´ë»ó : ¿Â¶óÀÎ ±³À°¿¡ µî·ÏÇÑ Çлý Áß Èñ¸ÁÀÚ¿¡ ÇÑÇÏ¿© Âü°¡ÇÕ´Ï´Ù.

¡Ø ¹æÇÐÁß Ä·ÇÁ
Ä·ÇÁ ½Ã±â : º½, ¿©¸§, °Ü¿ï ¹æÇÐ ±â°£¿¡ ¸ÂÃß¾î 3ȸ ½Ç½Ã
Ä·ÇÁ Àå¼Ò : ÇлýµéÀÌ ÇнÀÇϱâ Æí¸®ÇÑ Àå¼Ò¸¦ ¼±ÅÃÇÏ¿© ½Ç½ÃÇÕ´Ï´Ù.
ÇнÀ ³»¿ë : ¾Ë°í¸®Áò °­ÁÂ, ¹®Á¦ Çعý Åä·Ð, ÇÁ·Î±×·¡¹Ö ±â¹ý Åä·Ð, ÇнÀÀÇ ¹Ù¶÷Á÷ÇÑ ÁøÇà ¹æ¹ý °­ÁÂ, ¿Â¶óÀÎ ÇнÀÀ¸·Î ºÎÁ·Çß´ø ÇнÀ ³»¿ë º¸Ãæ, ¼öÇÐ, °úÇÐ, ¿µ¾î µîÀ¸·Î ÀÌ·ç¾î Áý´Ï´Ù.
Ä·ÇÁ ºñ¿ë : Â÷ ÈÄ ¼÷¹Ú ¿©ºÎ, ½Ä»ç, Àåºñ, Àå¼Ò ´ë¿©·á µîÀ» °¨¾ÈÇÏ¿© ¿Â¶óÀÎ ¼ö¾÷·á¿Í´Â º°µµ·Î ºÎ°úÇÕ´Ï´Ù.
Âü°¡ ´ë»ó : ¿Â¶óÀÎ ±³À°°ú º»¿ø¿¡ µî·ÏÇÑ Çлý Áß Èñ¸ÁÀÚ¿¡ ÇÑÇÏ¿© Âü°¡ÇÕ´Ï´Ù.
 

5) ·¹º§ Á¦µµ ¿î¿µ

°¡) ·¹º§¿î¿µ

º» ÇпøÀº Level ·Î ¿î¿µµÈ´Ù. Level °úÁ¤ÀÇ ÀåÁ¡Àº ´ÙÀ½°ú °°½À´Ï´Ù.

  1. Àڱ⠼öÁØ¿¡ ¸Â´Â ¹®Á¦¸¦ Ç®°Ô µÊÀ¸·Î ÀڽۨÀ» °¡Áö°Ô µË´Ï´Ù.
  2. ÀÚ±â¿Í ºñ½ÁÇÑ ¼öÁØÀÇ Çлý°ú °°Àº ¹®Á¦¸¦ Ç®°Ô µÇ±â¶§¹®¿¡ °æÀï½ÉÀ» ÅëÇÑ ´É·Â ¹è¾ç¿¡ µµ¿òÀÌ µË´Ï´Ù.
  3. ÀÚ±â ÀÚ½ÅÀÇ ¼öÁØÀÌ Àüü¿¡¼­ ¾î´ÀÁ¤µµ ¼öÁØ¿¡ µµ´ÞÇØ ÀÖ´ÂÁö ½±°Ô ¾Ë ¼ö ÀÖ½À´Ï´Ù.
  4. ´õ ³ôÀº ·¹º§À» ÇâÇÑ ³ë·Â°ú ·¹º§»ó½Â¿¡ ´ëÇÑ ¼ºÃë°¨À̳ª ¶Ñ·ÇÇÑ ¸ñÇ¥ À̽ÄÀ» ±â¸¦ ¼ö ÀÖ½À´Ï´Ù.
  • óÀ½ Çпø¿¡ ÀÔÇÐÇÏ°Ô µÇ¸é 1 Level ¸¦ ¹Þ°Ô µÇ¸ç, ¾ð¾î±âÃÊ°úÁ¤Àº 1~2Level·Î ÀÌ °úÁ¤¿¡¼± ¾ÕÀ¸·Î Á¤º¸¿Ã¸²ÇǾƵ带 ÁغñÇϱâ À§ÇÑ ¸í·É¾î¿Í °£´ÜÇÑ ÇÁ·Î±×·¥ Á¦ÀÛÀ» ÇÏ°Ô µË´Ï´Ù.
  • 3~9·¹º§¿¡¼± ±âº»ÀûÀÎ ÄÚµù ½Ç·ÂÀ» Ç⼧ ½ÃÅ°±â À§ÇÑ ¹®Á¦¸¦ Ç®°Ô µÈ´Ù. ¾Ë°í¸®Áò °úÁ¤Àº 10~15 Level ±×¸®°í ¹®Á¦ Ç®ÀÌ °úÁ¤(¼±¼ö¹Ý)Àº 15~30Level·Î ±¸¼ºµË´Ï´Ù.
  • ÇÏ·ç¿¡ Ç® ¼ö ÀÖ´Â ¹®Á¦ÀÇ Á¦ÇÑÀº ¾ø½À´Ï´Ù.
  • ¸¸¾à óÀ½ Çпø¿¡ µî·ÏÇÒ¶§ ÀÚ½ÅÀÌ ÀÌ¹Ì ÇÁ·Î±×·¥À» ¹è¿ü°Å³ª ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ÁÙ ¾È´Ù¸é, ¼±»ý´Ô°ú »ó´ãÇÏ¿© Level Á¶ÀýÀ» ÇÒ¼ö ÀÖ½À´Ï´Ù.