LSP FAQ 96/12/10 ±è¼ºÀÍ ( NOERROR ) 1. lsp¶õ ¹«¾ùÀΰ¡ ? 2. µ¥ÀÌŸ´Â ¾î¶² ¹æ½ÄÀ¸·Î ó¸®ÇÏ´Â °¡ ? 3. È­¸é Ãâ·ÂÀº ? 4. ³ëµå »ðÀÔÀº ? 5. Ŭ¸®ÇÎÀº ? 6. ŸÀÏ ½ºÅ©·ÑÀº ? *7. ´ÙÁß½ºÅ©·ÑÀº ? *8. 0¹ø ¾ÐÃà ½ºÇÁ¶óÀÕÀº ? *9. È®´ë Ãà¼Ò Ãâ·ÂÀº °¡´ÉÇѰ¡ ? 10. º£»ç ¸ðµå¿¡¼± ¾î¶»°Ô Àû¿ë½Ãų ¼ö ÀÖ´Â °¡ ? 11. 3Â÷¿ø¿¡ ¾î¶»°Ô Àû¿ëµÉ ¼ö ÀÖ´Â °¡ ? *12. À©µµ¿ì ´ÙÀÌ·ºÆ® X¿¡ Àû¿ë 13. ³ëµå »ý¼º¿¡ °üÇØ 14.±âŸ 15. Âü°íÀÚ·á 0. vesa faq ³ëÆ® µÎ¹øÂ°±ÛÀÔ´Ï´Ù. ¸ðµç Áú¹®¿¡ ´äº¯À» ´Ü ÃÖÃÊÀÇ ¹öÁ¯À̱º¿ä. ÀÌÁ¨ º¸Ãæ°ú ¼öÁ¤ À§ÁÖ·Î ¾÷±×·¹À̵尡 µÇ°Ú±º¿ä. ºÐ·®ÀÌ ¸¹¾ÆÁ®¼³¶÷ ³»¿ëÀ» ÁÙÀÌ´Â ÀÏÀ» ÇÏ´Ù°¡ (ÇÏÀÌÅÚ 500¶óÀÎÁ¦ÇÑ) ±×³É ¹®¼­µÎ°³·Î ³ª´©¾î ¹ö·È½À´Ï´Ù. ´äº¯ ³»¿ëÀÌ ºÎ½ÇÇÑ ¸éÀÌ ÀÖ¾î Á¶¸¸°£ ¹öÁ¯¾÷ÀÌ ÇÊ¿äÇÒ°Å °°½À´Ï´Ù. 1. lsp¶õ ¹«¾ùÀΰ¡ ? LSP(Linear Space Partitioning algorithm)´Â Ãâ·Â °ø°£À» ³ª´©´Â ÇÑ ±â¹ýÀÔ´Ï´Ù. ±×·¯´Ï±î ½±°Ô ¸»ÇØ ÇÑ ¶óÀÎ Áß°£¿¡ ªÀº ¶óÀÎÀ» Çϳª µÎ¾úÀ» ¶§ 3°³ÀÇ ¶óÀÎÀ» ±¸ÇÏ´Â ±×·± ±â¹ýÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±â¹ýÀ» °ÔÀÓ¿¡ ÀÀ¿ëÇÒ °æ¿ì Áߺ¹µÇ´Â Ãâ·ÂÀ» ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ¹è°æÀ» Âï°í ij¸¯Å͸¦ ÂïÀ» °æ¿ì¸¦ »ý°¢ÇØ º¾½Ã´Ù. ÀÌ °æ¿ì ºÐ¸íÈ÷ ij¸¯ÅÍ¿¡ ÀÇÇØ °¡·ÁÁö´Â ¹è°æºÎºÐÀÌ ÀÖ½À´Ï´Ù. À̺κÐÀº ÂïÀ» Çʿ䰡 ¾ø´Â °ÍÀÔ´Ï´Ù. LSP±â¹ýÀ» ÀÀ¿ëÇϸé ÀÌ·± ¹«ÀǹÌÇÑ Ãâ·ÂÀ» ¿ÏÀüÈ÷ ¾ø¾Ù ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¹öÆÛ¿¡ ¹è°æÀ» Âï°í ij¸¯Å͸¦ ÂïÀº ÈÄ¿¡ È­¸éÀ¸·Î Ãâ·ÂÇÏ´Â ¹æ½Ä¿¡¼­ Áß°£ ¹öÆÛ¿¡ ±×¸®´Â °úÁ¤À» ¾ø¾Ö°í ¹Ù·Î È­¸é¿¡ »Ñ¸± ¼ö°¡ ÀÖ½À´Ï´Ù. ´ÙÀ½ µÎ°³¸¦ ºñ±³ÇØ º¾½Ã´Ù. (¾Æ·¡ÀÇ µÎ °á°ú´Â °°´Ù´Â Á¡¿¡ ÁÖ¸ñÇØÁÖ¼¼¿ä. ) [A] memcpy(buffer, background, 100); // ¹öÆÛ¿¡ ¹è°æ Âï±â memcpy(buffer+10, object, 20); // ¹öÆÛ¿¡ ¿ÀºêÁ§Æ® Âï±â memcpy(vram, buffer, 100); // ¹öÆÛ¸¦ ºñµð¿À·Î [B] memcpy(vram, background, 10); // ºñµð¿À¿¡ ¹è°æ 10¸¸Å­ Âï±â memcpy(vram+10, object, 20); // ´ÙÀ½ºÎºÐ¿¡ ¿ÀºêÁ§Æ® Âï±â memcpy(vram+30, background+30, 70); // ´ÙÀ½ºÎºÐ¿¡ ¹è°æ Âï±â ¹Ù·Î AÀÇ ¹æ¹ýÀ» B·Î ¹Ù²Ù´Â °ÍÀÌ LSPÀÇ ÇÙ½ÉÀÎ °ÍÀÔ´Ï´Ù. ( À§ÀÇ °ÍÀÌ °°´Ù´Â °ÍÀ» ÀÌÇØ ÇÏ¼Å¾ß LSP¸¦ ÀÌÇØ ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ) ´Ü Çȼ¿ 100°³¸¦ È­¸é¿¡ Âï´Â µ¥¿¡µµ ¾öû³­ À̵æÀÌ ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. AÀÇ ¹æ¹ýÀ» º¸¸é ¹öÆÛ¿¡ 120¹ÙÀÌÆ®¸¦ Àü¼ÛÇÑ ÈÄ¿¡ ´Ù½Ã ºñµð¿À¸Þ¸ð¸®¿¡ 100 ¹ÙÀÌÆ®¸¦ Àü¼ÛÇÕ´Ï´Ù. ±×·¯³ª BÀÇ ¹æ¹ýÀº ºñµð¿À¿¡ ´Ü 100 ¹ÙÀÌÆ®¸¸À» Àü¼ÛÇÕ´Ï´Ù. ¸ÕÀú Áß°£ ¹öÆÛ¸µ °úÁ¤°ú ¿ÀºêÁ§Æ®¿¡ °¡·ÁÁú ¹è°æÃâ·Â 20¹ÙÀÌÆ®µµ »ý·«µÇ¾úÀ¸´Ï °¡´ÉÇÏ´Ù¸é BÀÇ ¹æ¹ý »ç¿ëÀÌ À¯¸®ÇϰÚÁÒ ? 2. µ¥ÀÌŸ´Â ¾î¶² ¹æ½ÄÀ¸·Î ó¸®ÇÏ´Â °¡ ? ³ëµå ´ÜÀ§·Î ±¸¼ºµÊÀ¸·Î ³ëµå ±¸¼ºÀ» ¾Ë Çʿ䰡 ÀÖ½À´Ï´Ù. ÇÑ ³ëµå¿¡ ÇÊ¿äÇÑ Á¤º¸¶ó¸é±æÀÌ¿Í Ãâ·Â Æ÷ÀÎÅÍÀÏ °ÍÀÔ´Ï´Ù. ±×¸®°í ´ÙÀ½ ³ëµåÀÇ ¾îµå·¹½ºµµ ÇÊ¿äÇϱº¿ä. ( ³ëµå°£¿¡ ¿¬°áÀ» 󸮴 »ç¿ëÀÌ Æí¸®ÇÑ ½Ì±Û ¸µÅ©µå ¸®½ºÆ®¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ) struct LSP { short length; char *address; LSP *next; }; ÀÌ·¸°Ô ±¸¼ºµË´Ï´Ù. ½Ì±Û ¸µÅ©µå ¸®½ºÆ®´Â °¢ ¶óÀκ°·Î Âß ¿¬°áÀÌ µÇ°ÚÁö¿ä. ÇÑ ¶óÀÎÀÇ Ãâ·Â ÇÏ´Â ¼Ò½º¸¦ »ìÆì º¾½Ã´Ù. int i; LSP *node = ¶óÀÎÀÇù ³ëµå ; for(i=0; i < SCREEN_XSIZE; ) { memcpy(vram + i, node->address, node->length); // ºñµð¿À¿¡ ±×¸®±â i += node->length; // ±×¸°¸¸Å­ Áõ°¡ node = node->next; // node = ´ÙÀ½ ³ëµå } ¹«Áö °£´ÜÇÏÁÒ ? ¸¸¾à ³ëµå°¡ ´ÙÀ½°°ÀÌ ±¸¼ºµÇ¾î ÀÖ´Ù°í ÇսôÙ. A1 A2 A3 ±æÀÌ 10 20 70 ¾îµå·¹½º background object (background+30) ´ÙÀ½³ëµå A2 A3 -- À§¿Í °°ÀÌ ³ëµå°¡ ±¸¼ºµÇ¾î ÀÖ´Ù¸é ¾Æ¸¶ 1¹øÁú¹®¿¡¼­ ¿¹¸¦ µç B°¡¿¬Ã⠵ɰÍÀÔ´Ï´Ù ¾Æ¿¹ ·çÇÁ¸¦ Âß ³ª¿­Çغ¸ÁÒ. #define SCREEN_XSIZE 100 int i; LSP *node = A1; memcpy(vram , background, 10); // i=0 // node = A1 À̹ǷΠnode->address´Â background // node->length ´Â 10À̰ÚÁÒ ? // ±×·¯´Ï±î memcpy(vram + i, node->address, node->length) // ´Â À§°¡ µÊ i += 10; // i = 10ÀÌ µÊ node = A2; // node = A1 À̾úÀ¸´Ï node->next ´Â A1->next ÀÌ´Ï A2 °ÚÁÒ? // i°¡ 10ÀÌ´Ï SCREEN_XSIZEº¸´Ù ÀÛÁÒ ? ´Ù½Ã ·çÇÁ memcpy(vram + 10, object, 20); // i=10 , node->address = object , node->length = 20 i += 20; // i = 30ÀÌ µÊ node = A3; // i°¡ 30ÀÌ´Ï 100º¸´Ù ÀÛÁÒ ? ´Ù½Ã ·çÇÁ memcpy(vram + 30, background+30, 70); // i=30 , node->address = background+30, node->length = 70 i += 70; // i = 100ÀÌ µÊ node = --; // »ç½Ç ·çÇÁ¿¡¼­ ¹þ¾î³¯ °ÍÀº ±âÁ¤»ç½ÇÀ̱⠶§¹®¿¡ ¾î¶² °ªÀÌ´øÁö // »ó°ü¾øÀ½ // i°¡ 100ÀÌ´Ï 100º¸´Ù ÀÛÁö°¡ ¾ÊÁÒ ? // ³¡ õõÈ÷ ÀÐ¾î º¸¼¼¿ä. ÀÌÁ¦ °¨ÀÌ ÀâÈ÷½ÃÁÒ ? ÀÌÁ¨ ¿Ö ³ëµå°¡ À§¿Í °°ÀÌ ±¸¼ºµÇ´Â Áö ¾î¶»°Ô Ãâ·ÂµÇ´Â Áö´Â ¾Æ½Ç °Ì´Ï´Ù. ÀÌÁ¦ ³²Àº ¹®Á¦¶ó¸é ´ÜÁö À§ÀÇ ³ëµå¸¦ ¾î¶»°Ô ¸¸µå³Ä´Â °Å °ÚÁÒ. 3. È­¸é Ãâ·ÂÀº ? ( 2¹ø Áú¹® Âü°í) ¾Æ¸¶ °ÔÀÓÈ­¸éÀÌ ¼¼·Î ÇÑÁÙ·Î ±¸¼ºµÉ¸®´Â ¾øÀ» °ÍÀÔ´Ï´Ù. ±×·¯¹Ç·Î °¢ ³ëµå´Â ¶óÀκ°·Î ±¸¼ºµÇ¾î¾ß ÇÕ´Ï´Ù. LSP *lspnode[SCREEN_YSIZE] ÀÌ·¸°Ô ÀÌÁß Æ÷ÀÎÅÍ·Î °¢ ¶óÀÎÀÇ Ã¹ ³ëµåµéÀ» ÀúÀåÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸°Ô ³ëµå¸¦ ±¸¼ºÇØ ³õÀ¸¸é ³ª¸ÓÁö´Â ¸¸»çÇØ°áµÇÁö¿ä. ÀÏ´Ü 13h¶ó°í °¡Á¤ÇÕ´Ï´Ù. ( °¢ ¶óÀÎÀº 320¹ÙÀÌÆ®°ÚÁÒ ?) void PutScreen() { char *video = (char*)0xa0000; // º¸È£¸ðµå°¡ ¾Æ´Ï¸é 0xa0000000l LSP *node; int i,j; for(j=0; jaddress, node->length); i += node->length; node = node->next; } } } À§ÀÇ ´Ü¼ø ·çƾÀÌ Ãâ·Â ·çƾÀÇ ÀüºÎÀÔ´Ï´Ù. 4. ³ëµå »ðÀÔÀº ? ³ëµå »ðÀÔÀº ¸î°¡Áö·Î ±¸ºÐÇÒ ¼ö ÀÖ½À´Ï´Ù. Çϳª¾¿ »ìÆìº¸ÁÒ. ±âÁ¸ aaaabbbb : (a', 4), (b', 4) »ðÀÔ CCCC °á°ú aaCCCCbb : (a', 2), (C', 4), (b'+2, 2) ( aaaa¿µ¿ªÀÇ °¡Àå óÀ½ ¾îµå·¹½º¸¦ a'¶ó Ç¥½Ã. °¢ ³ëµå´Â (ÁÖ¼Ò, ±æÀÌ)·Î Ç¥½ÃÇßÀ½. ) À§ÀÇ °ÍÀº °¡Àå ±âº»ÀûÀÎ ·çƾÀÌÁö¿ä. Áß°£¿¡ »ðÀÔÇØÁÖ¸é µË´Ï´Ù. ¾ÕÀÇ ³ëµå´Â ±æÀ̰¡ ÁÙ¾îµé°Ú°í µÚÀÇ ³ëµå´Â ±æÀÌ´Â ÁÙ¾îµé°í ½ÃÀÛÆ÷ÀÎÅÍ´Â Áõ°¡ÇÏÁö¿ä. »õ·Î¿î ³ëµå C¸¦ »ðÀÔÇØµµ ±æÀÌ´Â 8ÀÓ¿¡µµ ÁÖ¸ñÇϽñæ... ±âÁ¸ aaaabbbbccccdddd : (a', 4), (b', 4), (c', 4), (d', 4) »ðÀÔ CCCCCCCCCCCC °á°ú aaCCCCCCCCCCCCdd : (a', 2), (C', 12), (d'+2, 2) À̹ø °æ¿ì´Â »ç½Ç»ó óÀ½ÀÇ °æ¿ì¿Í °°Àº °æ¿ìÀÔ´Ï´Ù. ´ÜÁö óÀ½ ³ëµå »ðÀÔ ¿¹´Â Áß°£¿¡ Áö³ªº¸³½ ³ëµåµéÀÌ ¾ø´Â °ÅÁö¿ä. À̹ø °æ¿ì´Â b,c³ëµå´Â Çʿ䰡 ¾ø±â ¶§¹®¿¡ ÀÌÅ»µÇ°Ô µÇ´Â °ÅÁö¿ä. ( ´õÀÌ»ó ¾µ¸ð¾ø´Â ³ëµå¶ó´Â ¼Ò¸®ÁÒ. ) ±âÁ¸ aaaaaaaa : (a', 8) »ðÀÔ CCCC °á°ú aaCCCCaa : (a', 2), (C', 4), (a'+6, 2) À̹ø °æ¿ì´Â »ðÀÔÇÒ ³ëµå¿Ü¿¡µµ »õ·Î¿î ³ëµå¸¦ Çϳª ¸¸µé¾î¼­ µÚ¿¡ °®´Ù ºÙ¿©¾ß ÇÕ´Ï´Ù. ¼¼¹ÐÈ÷ ºÐ¼®Çغ¸¸é °á±¹ µÎ°æ¿ì(¾ÕÀÇ µÎ°³´Â °°Àº °æ¿ì·Î º½)°¡ ³ëµå»ðÀÔÀÇ ÇÙ½ÉÀÌ µÊ´Ï´Ù. ´õ ÀÌ»óÀÇ °æ¿ì´Â »ý°¢ ¾ÈÇØµµ µÈ´Ù´Â °ÅÁö¿ä. ±×³É ³ëµåÀÇ ½ÃÀÛÀÌ ÀÏÄ¡Çϰųª °°ÀÌ ³¡³ª´Â °æ¿ì°°Àº ÀÚÀßÇÑ Ã³¸®±îÁö °í·Á´Â ÇØ¾ß°ÚÁö¿ä. ±âÁ¸ aabbbb : (a', 2) (b', 4) »ðÀÔ CCCC °á°ú CCCCbb : (C', 4), (a'+6, 2) ÀÌ·± °æ¿ì°¡ ±×·± °æ¿ìÁß Çϳª Àε¥... ¾î¶»°Ô º¸¸é »õ·Î¿î ÇüÅ °°Áö¸¸ °á±¹Àº (a', 0)ÀÌ ÀÖ´Ù°í »ý°¢Çغ¸¸é Á© ÷ÀÇ °æ¿ì°ú °°Áö¿ä. (¹°·Ð ±æÀ̰¡ 0ÀÎ ³ëµå´Â ¹ö·Á¾ß °ÚÁö¿ä. ) ±âÁ¸ aaaaabbbbddddeeeeffffgggg »ðÀÔ CC °á°ú aaaaabbbbddddeeeeffffggCC ÀÌ¿Í °°Àº °æ¿ì´Â »ç½Ç»ó ¾ÕºÎºÐÀº »ý°¢ÇÒ Çʿ䰡 ¾ø°í µÚ¿¡ ±âÁ¸ gggg »ðÀÔ CC °á°ú ggCC ÀÌ ºÎºÐ¸¸ ÁÖ¸ñÇÏ¸é µË´Ï´Ù. ¸¶Âù°¡Áö·Î µÞºÎºÐÀº »ý°¢¾ÈÇØµµ µÇ°ÚÁÒ ? ¼Ò½ºÈ­ ÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù. ( ¸î¹ø ´ÙµëÀº ¼Ò½ºÀÌ´Ï µ¢¾î¸®·Î ÀÌÇØÇØÁÖ¼¼¿ä. ) void AddLsp(int x, int y,short length, char *address) { if (y < 0 || y >= SCREEN_YSIZE) // Ŭ¸®ÇÎ (5¹ø Áú¹® Âü°í) return; // // int x2 = min(SCREEN_XSIZE, x +length); // int x1 = max(x, 0); // // if (x1 != x) // address += x1 - x;// LSP *node = lspnode[y]; // Çö¶óÀÎÀÇ »õ³ëµå for(x=node->length; xnext; x += node->length; } node->length -= x - x1; // ¾Õ³ëµå ±æÀÌ ÁÙÀ̱â LSP *next = AllocNode(); // »ðÀÔÇÒ ³ëµå¸¸µé±â next->length = x2 - x1; // next->address = address; // next->next = node->next; // µÞ³ëµå¿Í ¿¬°á node->next = next; // ¾Õ³ëµå¿Í ¿¬°á if(x > x2) { // ÀÚÅõ¸®³ëµå »ý¼º¿©ºÎ°Ë»ç LSP *dumy = AllocNode(); // ÀÚÅõ¸®³ëµå ¸¸µé±â dumy->address = node->address + node->length + (x2 - x1); dumy->length = x - x2; // dumy->next = next->next; // ÀÚÅõ¸®¿Í µÞ³ëµå ¿¬°á next->next = dumy; // »ðÀÔ³ëµå¿Í ÀÚÅõ¸® ¿¬°á } else { if(x == SCREEN_XSIZE) // ¸¶Áö¸· ³ëµåÀÌ¸é ³¡³¿ return; LSP *dumy = next->next; for(x += dumy->length; x<=x2;) { // ÀÌÅ»ÇÒ ³ëµå skip dumy = dumy->next; x += dumy->length; } int gap = x2 - (x - dumy->length); // µÞ³ëµå ÁÙÀ̱â dumy->address += gap; // ¾îµå·¹½º Áõ°¡ dumy->length -= gap; // ±æÀ̰¨¼Ò next->next = dumy; // »ðÀÔ³ëµå¿Í µÞ³ëµå ¿¬°á } // ÀÌÅ»³ëµå°¡ ÀÖÀ¸¸éÀ¯È¿ if(node->length == 0) memcpy(node, next, sizeof(LSP)); // ±æÀÌ 0³ëµå »èÁ¦ } ¸ÕÀú È­¸éÀ» SCREEN_XSIZEÀÎ ³ëµå·Î ²Ë ä¿îÈÄ¿¡ ½ºÇÁ¶óÀÕÀ» ÂßÂß »ðÀÔÇÏ¸é µÇÁö¿ä À̹ÌÁö¸¦ »Ñ¸®´Â ·çƾµµ ¾Æ·¡¿Í °°¾Æ Áö°ÚÁÒ ? void PutImage(int x, int y, char *address, int xs, int ys) { int y2 = y+ys; for (; ylength=SCREEN_XSIZE; empty->address=(char*)0xa0000; // ¾î¶²°ªÀÌµç »ó°üÀº ¾øÀ½ lspnode[i]=empty; // °¢¶óÀο¡ ÃʱⰪ } 5. Ŭ¸®ÇÎÀº ? À§ÀÇ ¼Ò½º¿¡ ³ªÅ¸³­ °ÍÀ» ¸ÕÀú º¸ÁÒ. if (y < 0 || y >= SCREEN_YSIZE) return; int x2 = min(SCREEN_XSIZE, x + length); int x1 = max(x, 0); if (x1 != x) address += x1 - x; ¸ÕÀú y°¡ È­¸éÀÇ À§³ª ¾Æ·¡ ¶óÀÎÀ̶ó¸é ¸¸µé Çʿ䰡 ¾øÀ» °ÍÀÔ´Ï´Ù. ------+ CCCCC CCC À§¿Í °°ÀÌ È­¸éÀ» ³Ñ¾î°¡´Â ºÎºÐÀº Àß¶óÁÖ¸é µÉ °ÍÀÔ´Ï´Ù. ¹¹ ´Ü¼øÈ÷ °¡·Î ±æÀ̸¸ ÁÙ¿© ÁÖ¸é µÇ°ÚÁÒ ? +------ CCCC CC ÀÌ¿Í °°ÀÌ ÁÂÃøÀ¸·Î ³Ñ¾î°£ °æ¿ì¿¡´Â ±æÀ̵µ ÁÙ¿©ÁÖ°í ¾îµå·¹½ºµµ Áõ°¡ ½ÃÄÑ ÁÖ¾î¾ß ÇÕ´Ï´Ù.ÀÌ·± °ÍµéÀ» ´ÙµëÀ¸¸é(?) À§ÀÇ Å¬¸®ÇÎ ·çƾÀÌ µÇ´Â °ÅÁÒ. ÀÌ·¸°Ô È­¸é ³Ñ¾î°¡´Â ºÎºÐÀ» Àß¶ó¹ö¸®°í ±× ³ëµå¸¦ »ðÀÔÇÏ¸é µË´Ï´Ù. LSPÀÇ ÀåÁ¡ÁßÀÇ Çϳª°¡ Ŭ¸®ÇÎÀÌ ÀÚµ¿À¸·Î µÈ´Ù´Â °Çµ¥... À§¿Í °°ÀÌ ¾à°£¸¸ °è»êÇØÁÖ¸é ¾î¶² °æ¿ì°Ç°£¿¡ Ŭ¸®ÇÎÀ» »ý°¢ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ij¸¯ÅͰ¡ ³Ñ¾î°¡°Ç È­¸é¿¡ °ÉÄ¡°Ç °£¿¡ ¸»ÀÌÁÒ. ( »ç½Ç Ŭ¸®ÇÎÀ̶õ°Ô ±×·±°ÅÁö¸¸... ^^; )