¾Ë°í¸®ÁòÀÇ Çʿ伺
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ¹®¼­´Â ¿Ï¼ºµÈ ¹®¼­°¡ ¾Æ´Õ´Ï´Ù. ÇÊ¿äÇÑ ºÎºÐÀ» °è¼Ó Ãß°¡ÇÏ°í ¼öÁ¤ÇØ ³ª°¥ °Ì´Ï´Ù.

Contents

1 ¼Ò°³
1.1 ÄÄÇ»ÅÍ´Â ÃæºÐÈ÷ ºü¸£´Ù ?
1.2 ±×·¸´Ù°í ¾Ë°í¸®ÁòÀÌ ½ÇÁúÀûÀ¸·Î Áß¿äÇϳª¿ä ?
2 ÇнÀÀ» ÅëÇØ¼­ ¹®Á¦ ÇØ°á´É·Â ȤÀº IQ°¡ Çâ»óÀÌ µÉ±î ?
2.1 ³ª´Â ¿Ö ÇнÀÀ» À̾߱â Çϴ°¡
2.2 °æÇèÇÏ°í °í¹ÎÇ϶ó
3 ÁÁÀº ¾Ë°í¸®ÁòÀ» »ý°¢ÇØ ³»±â
3.1 ¿ë°¨ÇÏ°Ô Ç®±â
3.2 Á» ´õ ¶È¶ÈÇÏ°Ô Ç®±â - ÀÌ¹Ì °è»êµÈ°Ç °Ç³Ê¶Ú´Ù.
3.3 ÆÐÅÏÀ» ã¾Æ³»¶ó : ÀϹÝÀûÀ¸·Î »ç¿ë°¡´ÉÇÑ ¾Ë°í¸®Áò »ý¼º
3.4 Key¸¦ ã¾Æ¶ó
4 °ü·Ã ¹®¼­

1 ¼Ò°³

¾Ë°í¸®ÁòÀ̶õ ¾î¶² ÁÖ¾îÁøÀÏÀ» ó¸®Çϱâ À§ÇÑ ÇÁ·Î½ÃÀúÀÌ´Ù. ±¤¹üÀ§ÇÏ°Ô º¸ÀÚ¸é ¾î¶²ÀÏÀ̵çÁö ¼öÇàÇÏ·Á¸é º¹ÀâÇϵçÁö ´Ü¼øÇϵçÁö °£¿¡ °íÀ¯ÀÇ ¾Ë°í¸®ÁòÀÌ »ç¿ëµÉ °ÍÀÌ´Ù. ¶È°°ÀÌ ÁÖ¾îÁø ÀÏÀÌ¶óµµ ¾î¶°ÇÑ ¹æ½ÄÀ» »ç¿ëÇÏ´À³Ä¿¡ µû¶ó¼­ ºñ¿ë¿¡ À־ ¸¹Àº Â÷À̰¡ ³­´Ù. ÀÛ¾÷ÀÇ Á¤¼®, ½ÂÁøÀßÇϱâ, ºÎµ¿»êÀ¸·Î ¶¼µ·¹ú±â ½ÄÀÇ Á¦¸ñÀÇ Ã¥µéÀÌ ´ã°í ÀÖ´Â ³»¿ëÀ̶õ °ÍÀº À̼ºÀ» Àß ²¿½Ã´Â È¿°úÀûÀÎ ¾Ë°í¸®Áò, ºÎµ¿»ê ÅõÀÚ¸¦ ÀßÇÏ´Â È¿°úÀûÀÎ ¾Ë°í¸®Áòµé¿¡ ´ëÇÑ °ÍµéÀÏ °ÍÀÌ´Ù. ¶È°°Àº ½Ã°£À» µé¿©¼­ ÀÛ¾÷À» °É´õ¶óµµ ¾ó¸¶³ª È¿°úÀûÀÎ ¹æ¹ýÀ» ¾Ë°í ÀÖ´À³Ä¿¡ µû¶ó °á°ú°¡ ´Þ¶óÁö´Ù º¸´Ï, º£½ºÆ®¼¿·¯¿¡ µÎ¼­³Ê±Ç Á¤µµ ÀÌ·±Ã¥ÀÌ ³¢¾îÀֱ⠸¶·ÃÀÌ´Ù.

ÄÄÇ»ÅÍ ¿ª½Ã ¸¶Âù°¡Áö´Ù.

¾Ë°í¸®Áò¿¡¼­ÀÇ »ç¼ÒÇÑ Â÷À̰¡ 󸮽ð£, 󸮿¡ ÇÊ¿äÇÑ ÄÄÇ»ÅÍ ´ñ¼ö, ÄÄÇ»ÆÃ ÆÄ¿öµî ǰÁú°ú ºñ¿ë¿¡ °áÁ¤ÀûÀÎ ¿µÇâÀ» ³¢Ä¡°Ô µÇ¹Ç·Î, ¸Å¿ì Áß¿äÇÏ°Ô »ý°¢ÇÑ´Ù. ƯÈ÷ ÄÄÇ»ÅÍ´Â ´ë·®ÀÇ µ¥ÀÌÅ͸¦ ó¸®Çϴµ¥ ƯȭµÈ ±â°è´Ù. ¼ö¸¹Àº µ¥ÀÌÅ͸¦ ¹Ýº¹Ã³¸®ÇÏ´Â ÀÏÀ» Àß ÇÑ´Ù´Â ¾ê±â´Ù. ¿äÁò °°Àº ½ÃÀý¿¡´Â ¼öõ¸¸°ÇÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â°Ô ¸Å¿ì ÀϹÝÀûÀÌ´Ù.

´Ü¼øÇÏ°Ô »ý°¢Çؼ­, õ¸¸°ÇÀÇ µ¥ÀÌÅ͸¦ ó¸®Çϴµ¥ ÁÁÁö ¾ÊÀº ¾Ë°í¸®ÁòÀ¸·Î 0.05Ãʾ¿ÀÇ ½Ã°£¼ÕÇØ°¡ ¹ß»ýÇß´Ù°í ÇÏ¸é ¹«·Á 5ÀÏÀÇ ½Ã°£¼ÕÇØ°¡ ¹ß»ýÇÏ°Ô µÈ´Ù.

1.1 ÄÄÇ»ÅÍ´Â ÃæºÐÈ÷ ºü¸£´Ù ?

ÄÄÇ»ÅÍ´Â È®½ÇÈ÷ ºü¸£±ä ÇÏ´Ù. Àΰ£ÀÇ ´º·±¼¼Æ÷ Çϳª°¡ ÃÊ´ç °è»êÇÒ ¼ö ÀÖ´Â ¾çÀÌ ¼ö¹é°Ç Á¤µµ¶ó°í µéÀºÀûÀÌ Àִ°Š°°´Ù. ¹Ý¸é ÄÄÇ»ÅÍ´Â ÃÊ´ç ±â°¡ byte´ÜÀ§·Î ºñ±³ÇÒ ¼ö ¾øÀ» Á¤µµ·Î ºü¸£´Ù. ¹®Á¦´Â ó¸®ÇØ¾ß ÇÏ´Â µ¥ÀÌÅ;çÀ¸·Î ÄÄÇ»ÅͰ¡ µ¥ÀÌÅÍÀÇ ¾çÀ» µû¶ó°¡Áö ¸øÇÒ Á¤µµ·Î ±Þ°ÝÇÏ°Ô Áõ°¡Çϰí ÀÖ´Ù.

10³âÀüÀ̶ó¸é ·ÎµåÆÄÀÌÅÍ Á¤µµÀÇ °ÔÀÓÀ¸·Îµµ ¼ÒºñÀÚ¸¦ ¸¸Á·½Ãų ¼ö ÀÖ¾úÀ» °ÍÀÌ´Ù. Áö±ÝÀº FULL HD ½´ÆÛ ¸®¾ó µå¶óÀ̺ù 3D ½Ã¹Ä·¹À̼ÇÁ¤µµÀÇ ¼ö½Ä¾î´Â ´Þ°í ³ª¿Í¾ß Á» ÇÒ¸¸Çϳ×ÇÏ´Â Æò°¡¸¦ ¹Þ°í ÀÖ´Ù. ¹ü¿ëÀûÀÎ ÄÄÇ»Åͷδ ÀÌ·¯ÇÑ ¼öÁØÀÇ °ÔÀÓÀ» Á¦´ë·Î ó¸®ÇÏÁö ¸øÇϰí ÀÖÀ¸¸ç, °ÔÀÓ¸¸À» À§ÇØ Æ¯È­µÈ °ÔÀӱ⸦ ±¸ÀÔÇØ¾ß °ÔÀÓÀ» Áñ±æ ¼ö ÀÖ´Ù. °ÔÀÓÀÌ ÄÄÇ»ÅÍ Çϵå¿þ¾î¸¦ ¸®µåÇϰí ÀÖ´Ù´Â °ÍÀº ±»ÀÌ ¸»ÇÒ Çʿ䵵 ¾øÀ» °ÍÀÌ´Ù.

°Ë»öÀÇ °æ¿ìµµ Àü¼¼°è ¹®¼­¸¦ »ó´ë·Î ÇÒ °æ¿ì ÆäŸ¹ÙÀÌÆ® ´ÜÀ§ÀÇ ¹®¼­¸¦ ó¸®ÇØ¾ß ÇÑ´Ù. °£´ÜÇÑ Áö¿ª°Ë»öÀ» ÇÑ´Ù°í ÇØµµ ÃÖ¼ÒÇÑ Ãµ¸¸°ÇÀº µÇ¾î¾ß ¼­ºñ½ºÇÏ´Â ¸ð¾çÀÌ´Ù¶ó´Â ¼Ò¸®¸¦ µè´Â´Ù.
¾Æ¸¶Á¸°ú °°Àº ¿Â¶óÀÎ ¼­Á¡ÀÇ °æ¿ì °æÀï·ÂÀÇ È®º¸¸¦ À§Çؼ­ °³ÀÎÈ­ ¼­ºñ½º¸¦ ½Ç½ÃÇÑ´Ù. µµ¼­Ãßõ°ú °°Àº ¼­ºñ½º¸¦ ÇÑ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ³ª¿Í ºñ½ÁÇÑ ±¸¸Å¼ºÇâÀ» °¡Áø ±¸¸ÅÀÚµéÀÌ ¸¹ÀÌ ±¸¸ÅÇØ¼­ º» Ã¥À» ÃßõÇÏ´Â ½ÄÀ¸·Î ÀÌ·ç¾îÁú °ÍÀÌ´Ù. ¸¸¾à õ¸¸ ±¸¸ÅÀÚ¸¦ ´ë»óÀ¸·Î ¼­ºñ½º¸¦ °èȹ Çϰí ÀÖ´Ù¸é 10000000 * 10000000 ÀÇ Å©±â¸¦ °¡Áö´Â Å×À̺íÀ» ºÐ¼®ÇØ¾ß ÇÑ´Ù.

1.2 ±×·¸´Ù°í ¾Ë°í¸®ÁòÀÌ ½ÇÁúÀûÀ¸·Î Áß¿äÇϳª¿ä ?

¾Æ¸¶Á¸, ±¸±Û ±×·± ´ëÇüÀÇ »çÀÌÆ®µéÀº ±×·¸´Ù Ä¡°í ¿ì¸® ¸ðµÎ°¡ ±×·± ¼­ºñ½º¸¦ ¸¸µé°Ç ¾Æ´ÏÀݾƿä ? ¶ó°í ¹°¾îº¼ ¼öµµ ÀÖÀ» °Å °°´Ù. ÇöÀåÀ» ¶Ù¾îº¸¸é ¾Ë°ÚÁö¸¸ (ƯÈ÷ ±â¾÷Çü Á¦Ç°µéÀÇ °æ¿ì) ÇÏ·ç¿¡ ±â°¡¹ÙÀÌÆ® ´ÜÀ§ÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇØ¾ß ÇÏ´Â °æ¿ì´Â ÈçÈ÷ ¹ß»ýÇÑ´Ù.

ÀڷᱸÁ¶ ¾Ë°í¸®Áò °°Àº °ü·ÃµÈ ÁÁÀº Ã¥µéµµ ¸¹ÀÌ ³ª¿Í ÀÖ°í, ÈǸ¢ÇÑ ¶óÀ̺귯¸®µéµµ ¸¹ÀÌ ÀÖ´Ù. ±×³É ÇÊ¿äÇÒ ¶§, ã¾Æ¼­ ¾²¸é µÇ´Â°Å ¾Æ³Ä? ¶ó°í ¸»Çϱ⵵ ÇÑ´Ù.

ÀÌ´Â ¼­Á¡¿¡ °¡¸é, ÀÛ¾÷ Ã¥µµ ¸¹°í ºÎµ¿»ê Ã¥µµ ¸¹´Ù. ÀÎÅͳݿ¡´Â °ü·Ã Á¤º¸°¡ ³ÑÃÄ ÀÖ´Ù. Ã¥Çϳª »ç¼­ º¸¸é ³ªµµ Ä«»ç³ë¹Ù, ³ªµµ ºÎµ¿»ê Àç¹ú, ³ªµµ CEO ¶ó°í ÇÏ´Â °Í°ú °°´Ù. ÀÌ Á¤º¸µéÀº ÀϹÝÀûÀÎ Á¤º¸µéÀÏ »ÓÀÌ´Ù. ÀÌ°É ½ÇÁ¦ Çö½Ç¿¡ Àû¿ë½Ã۱â À§Çؼ­ ¾ó¸¶³ª ¸¹Àº °í¹Î°ú ³ë·ÂÀ» Çß´À³ÄÀÇ Â÷À̰¡ Àü¹®°¡¿Í ¾Æ¸¶Ãß¾îÀÇ °£°ÝÀ» ¸¸µé¾î³½´Ù.

°£´ÜÇÑ ¿¹¸¦ µé¾îº¸ÀÚ. °Ë»öÂÊ ÀÏÀ» Çϰí ÀÖÀ¸´Ï °Ë»ö°ü·Ã ¿¹¸¦ µé¾îº¸µµ·Ï ÇϰڴÙ.

»öÀÎµÈ µ¥ÀÌÅ͸¸ 10±â°¡ÀÎ 10,000,000 °ÇÀÇ ¹®¼­°¡ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. ÀÌ »öÀÎ Å×À̺íÀº Key°¡ ´Ü¾î À̰í Value´Â ´Ü¾î¸¦ Æ÷ÇÔÇÑ {¹®¼­ÀÇ ¹øÈ£,Score}ÀÇ ¸®½ºÆ®·Î ±¸¼ºµÇ¾î ÀÖÀ» °ÍÀÌ´Ù.

¹®Á¦
A¿Í B ´Ü¾î¿¡ ´ëÇØ¼­ µÎ°³ÀÇ {¹®¼­¹øÈ£,Score} ¸ñ·ÏÀ» °¡Á®¿Ô´Ù. ÀÌ °á°ú¸¦ Score¸¦ ±âÁØÀ¸·Î Á¤·ÄÇØ¼­ °¡Àå ³ôÀº 10°³ÀÇ ¹®¼­¹øÈ£¸¦ ¾ò¾î¿À¶ó. ¹®¼­¹øÈ£°¡ Áߺ¹µÉ °æ¿ì Score¸¦ ´õÇÞ¼­ Á¤·ÄÇ϶ó. Á¶°Ç : Value´Â ¹®¼­¹øÈ£·Î Á¤·ÄµÇ¾î ÀÖ´Ù.

Merged Sort¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù´Â°É ¾Ë°í ÀÖ´Ù¸é ÀÏ´Ü 30Á¡ ȹµæÀÌ´Ù. STL°ú °°Àº ¶óÀ̺귯¸®¿¡¼­ Á¦°øÇÏ´Â set_union °ú °°Àº ÇÕÁýÇÕ ÇÔ¼ö¸¦ Àû¿ëÇÏ¸é µÇÁö ¾Ê´Â³Ä¶ó°í »ý°¢ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ȤÀº µÎ°³ÀÇ °ªÀ» map ÄÁÅ×À̳ʿ¡ Áý¾î ³Ö°í iterator·Î µ¹¸®¸é¼­ µ¿ÀÏÇÑ ¹®¼­¹øÈ£ÀÏ °æ¿ì Score¸¦ ´õÇØ¼­ (Score°¡ Key)°¡ µÇ´Â map¿¡ ³ÖÀ¸¸é µÉ °ÍÀÌ´Ù.

È®½ÇÈ÷ µ¹¾Æ°¡±ä ÇÒ °ÍÀÌ´Ù. ¹®Á¦´Â ÁöºÒÇØ¾ß ÇÏ´Â ºñ¿ëÀÌ´Ù. ¹®¾à ¹®¼­¹øÈ£°¡ õ¸¸°³¾¿ °Ë»öµÇ¾ú´Ù¸é, Score°¡ Key°¡ µÇ´Â map¿¡ Áý¾î ³Ö±â À§ÇÑ °ø°£¸¸ 10000000 * 8byte °¡ µÈ´Ù. °Ô´Ù°¡ ¸Ê¿¡ Áý¾î ³ÖÀ» ¶§¸¶´Ù, Á¤·Ä¿¬»êÀ» ¼öÇàÇØ¾ß ÇÑ´Ù. Á»´õ ³ªÀº ¹æ¹ýÀº merged SortµÈ °á°ú¸¦ Priory Queue¿¡ Áý¾î ³Ö´Â °ÍÀÌ´Ù. °ü·ÃµÈ ³»¿ëÀº Priority Queue¸¦ ÀÐ¾î º¸±â ¹Ù¶õ´Ù. ¸¹Àº ½Ã°£°ú ¸Þ¸ð¸®¸¦ Àý¾àÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

2 ÇнÀÀ» ÅëÇØ¼­ ¹®Á¦ ÇØ°á´É·Â ȤÀº IQ°¡ Çâ»óÀÌ µÉ±î ?

2.1 ³ª´Â ¿Ö ÇнÀÀ» À̾߱â Çϴ°¡

ÇнÀÀ» ÅëÇÑ È¿°ú¿¡ ´ëÇØ¼­ Âü°íÇÒ ¸¸ÇÑ ±ÛÀÌ À־ ¸µÅ©¸¦ °Ç´Ù.
¾ê±ä Áï½¼, ´õ ÁÁ¾ÆÁú ¼ö ÀÖ´Ù°í ¹Ï°í ³ë·ÂÇÏ°í °æÇèÇϸé, ´õ ÁÁ¾ÆÁø´Ù¶ó´Â ¾ê±â°¡ µÇ°Ú´Ù.

2.2 °æÇèÇÏ°í °í¹ÎÇ϶ó

expert.jpg

´ç¿¬ÇÏÁö¸¸ Ä«»ç³ë¹ÙÀÇ ÀÚ¼­ÀüÀ» Àоú´Ù°í ÇØ¼­ Ä«»ç³ë¹Ù°¡ µÇ´Â°Ç ¾Æ´Ï´Ù. ±×°É ½ÇÁ¦ »ýȰ¿¡¼­ °æÇèÇÏ°í ¾î¶»°Ô ´õ Àß Àû¿ë½Ãų ¼ö ÀÖÀ» ±î °í¹ÎÇÏ´Â »ç¶÷ÀÌ Á¦ 2ÀÇ Ä«»ç³ë¹Ù°¡ µÉ ±âȸ°¡ ÁÖ¾îÁø´Ù.

°æÇè°ú °í¹Î.. ±×·¯´Ï±î Àΰ£Àº ¾î¶² ºÎºÐ¿¡ ´ëÇØ¼­ »ý°¢À» ¸¹ÀÌ Çϸé ÇÒ ¼ö·Ï ±×·¯ÇÑ ·ùÀÇ ÀÏÀ» ´õ ÀßÇÒ ¼ö ÀÖµµ·Ï, ³ú¼¼Æ÷°¡ Á¶Á÷È­ µÈ´Ù°í ÇÑ´Ù. ³ú¼¼Æ÷³¢¸® ³×Æ®¿öÅ©¸¦ Çü¼ºÇÏ°Ô µÇ°í, ±× ³×Æ®¿öÅ©¸¦ ÀÚÁÖ »ç¿ëÇÏ°Ô µÇ¸é, Àü±âÀû ½ÅÈ£°¡ ´õ Àß ÅëÇÏ´Â ÀÏÁ¾ÀÇ Åë·Î°¡ ¸¸µé¾îÁø´Ù°í ÇÑ´Ù. ´õ ºü¸£°Ô ´õ È¿À²ÀûÀ¸·Î »ý°¢À» ÇÏ°Ô µÈ´Ù´Â ¾ê±â°¡ µÇ°Ú´Ù. ¸¹Àº ÈÆ·ÃÀ» ÅëÇØ¼­ ¸¸µé¾îÁö´Â ÇÁ·Î°ÔÀ̸ӵµ ±×·¸°í ¹ÙµÏ¼± ¼öµµ ±×·¸°í ½ºÆ÷Ã÷ ¼±¼öµµ ±×·¸´Ù.

TV¿¡¼­ ÇÁ·Î°ÔÀ̸ӵéÀÌ ´ëÀüÇÏ´Â °Å ÀÚÁÖº¸°í ºôµå¿À´õ¸¦ ²ç°í ÀÖ´Ù°í ÇØ¼­ ÇÁ·Î°ÔÀ̸Ӱ¡ µÉ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ò °ÍÀÌ´Ù. ½ºÆ¼ºì ¾ÆÀú¾¾ÀÇ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö Ã¥À» ºÃ´Ù°í, Àü¹® ÇÁ·Î±×·¡¸Ó°¡ µÇ´Â°Ô ¾Æ´ÏµíÀÌ ¸»ÀÌ´Ù.

¼öÇÐÀÚü°¡ Áß¿äÇÑ°Ô ¾Æ´Ï´Ù. Á¤¸» Áß¿äÇÑ°Ç ¼öÇÐÀ» ÇÏ°Ô µÊÀ¸·Î½á ¾ò´Â ¼öÇÐÀû »ç°í·ÂÀ̶õ ¸»ÀÌ ÀÖ´Ù. ÀڷᱸÁ¶¿Í ¾Ë°í¸®Áò ¿ª½Ã ¸¶Âù°¡Áö·Î ºÁ¾ß ÇÒ °ÍÀÌ´Ù.

3 ÁÁÀº ¾Ë°í¸®ÁòÀ» »ý°¢ÇØ ³»±â

Àü¹®°¡°¡ µÇ±â À§ÇÑ ¿Õµµ´Â ¾ø´Ù°í´Â ÇÏÁö¸¸ È¿À²ÀûÀÎ ¹æ¹ýÀº ÀÖÀ» °ÍÀÌ´Ù. ÀÌ¿¡ ´ëÇØ¼­ ³ª¸§ ´Ù·ç¾îº¸·Á°í ÇÑ´Ù.

¾Æ·¡´Â ²Ï À¯¸íÇÑ ¹®Á¦·Î ±¸±Û¿¡¼­ ÀÔ»çÁö¿øÀÚ¸¦ Å×½ºÆ®Çϱâ À§ÇØ »ç¿ëÇÑ °ÍÀ¸·Îµµ ¾Ë·ÁÁ® ÀÖ´Ù.
Á¤¼ö 1¿¡¼­ n ±îÁö ¼ýÀÚ¸¦ f(n)¿¡ nÀÌÇÏÀÇ ¼ö¿¡1ÀÌ µé¾î°¡´Â °¹¼ö¸¦ k¶ó ÇÒ¶§, f(n)=k 
    * ex) f(13)=6 => 1,10,11,12,13 (ÃÑ 1ÀÌ 6°³) 
 
n=k ÀÌ µÇ´Â ÃÖÃÊÀÇ nÀº 1À϶§°¡ µÈ´Ù. µÎ¹øÂ°·Î n=k°¡ µÇ´Â nÀ» ±¸Ç϶ó 
 
ÀÌ ¹®Á¦¸¦ ´Ù¾ç ÇÏ°Ô Ç®¾îº¸¸é¼­ ¾î¶»°Ô ÁÖ¾îÁø ¹®Á¦¸¦ ÇØ°áÇØ¾ß µÇ´ÂÁö¿¡ ´ëÇØ¼­ °í¹ÎÇØ º¸µµ·Ï ÇϰڴÙ.

3.1 ¿ë°¨ÇÏ°Ô Ç®±â

ÄÄÇ»ÅÍÀÇ ÆÄ¿ö¸¦ ¹Ï´Â ´Ü¼øÇÑ ¹æ¹ýÀ¸·Î 1ºÎÅÍ n±îÁö ·çÇÁ¸¦ µ¹¸é¼­ °è»êÇÏ´Â ¹æ½ÄÀÌ´Ù. ¾Æ¸¶ ¸î½Ã°£Àº µ¹·Á¾ß ÇÒ °ÍÀ¸·Î »ý°¢µÇ´Âµ¥, µ¹¸®´Ù°¡ ±×¸¸ µÎ¾ú´Ù. ´Ü¼øÇÑ ¾Ë°í¸®ÁòÀ» »ç¿ëÇϰí ÀÖ´Ù.
#include <stdio.h> 
#include <string.h> 
 
int main(int argc, char **argv) 
{ 
    int i; 
    int n = 0; 
    int j = 0; 
    char buf[12] ={0x00,}; 
    int value = 1; 
    while(1) 
    { 
      value++; 
      n = 0; 
      for(i = 1; i < value+1;i++) 
      { 
        sprintf(buf, "%d", i); 
        for (j = 0; j < strlen(buf); j++) 
        { 
            if(buf[j] == '1') n++; 
        } 
      } 
      if (value == n) break; 
    } 
} 
 
ÀÔ·ÂµÈ ¼ýÀÚº¸´Ù ÀÛÀº ¸ðµç ¼ýÀÚ¿¡ ´ëÇØ¼­ 1ÀÌ Æ÷ÇԵǾî ÀÖ´ÂÁö¸¦ °Ë»çÇÏ´Â ÄÚµå´Ù. °è»êÇØ¾ß µÇ´Â¾çÀÌ 1+2+3+4+5.... ·Î °è¼Ó ´Ã¾î³­´Ù.

3.2 Á» ´õ ¶È¶ÈÇÏ°Ô Ç®±â - ÀÌ¹Ì °è»êµÈ°Ç °Ç³Ê¶Ú´Ù.

À§ÀÇ ÄÚµå´Â ¹®Á¦¸¦ Ç® ¼ö´Â ÀÖÁö¸¸ ¸Å¿ì ºñÈ¿À² ÀûÀÌ´Ù. À§ÀÇ Äڵ带 ¾à°£¸¸ º¯°æÇÏ´Â Á¤µµ·Îµµ ¸¹Àº À̵æÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù. ÀÌÀü¿¡ ã¾Æ³½ 1ÀÇ °¹¼ö¸¦ °è¼Ó ´©ÀûÇØ¼­ ´õÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. °ªÀ» ´©ÀûÇÏ°Ô µÇ¹Ç·Î, ÀÌÀü¿¡ °è»êÇß´ø °ÍÀ» ¹Ýº¹Çؼ­ °è»êÇÏÁö ¾Ê¾ÆµµµÈ´Ù. ¾Æ·¡ÀÇ Äڵ带 Å×½ºÆ® ÇØº¸¸é, 0.1 ÃÊ À̳»¿¡ ´äÀ» ã¾Æ³»´Â°É È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
#include <stdio.h> 
#include <time.h> 
 
int count = 0; 
void find_one(int value) 
{ 
    int p_num = value / 10; 
    if (value % 10 == 1) 
    { 
        count++; 
    } 
    if (p_num > 0) 
    { 
        find_one(p_num); 
    } 
} 
 
int main() 
{ 
    clock_t stime, etime; 
    stime = clock(); 
    int i = 1; 
    while(1) 
    { 
        find_one(i); 
        if (count == i) 
        { 
            if (i != 1) break; 
        } 
        i++; 
    } 
    etime = clock(); 
    printf("%d = %d\n", i, count); 
    printf("Time = %.3fs\n", (double)(etime - stime)/CLOCKS_PER_SEC); 
} 
 
´ÙÀ½Àº ½ÇÇà°á°ú´Ù
# ./findnum 
199981 = 199981 
Time = 0.030s 
 

3.3 ÆÐÅÏÀ» ã¾Æ³»¶ó : ÀϹÝÀûÀ¸·Î »ç¿ë°¡´ÉÇÑ ¾Ë°í¸®Áò »ý¼º

º¹ÀâÇÑ Çö»óµµ ÀÏÁ¤ÇÑ ±ÔÄ¢À» °¡Áö°í ÀÖ´Ù. ÀÌ ±ÔÄ¢À» ã¾Æ³»¸é Çö»ó¿¡ ´ëÇÑ ´õ ³ªÀº ÀνÄÀÌ °¡´ÉÇØÁø´Ù.

¿ì¼± ¾î¶² ÆÐÅÏÀ» °¡Áö´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.
 f(1)        =        1   
 f(10)       =        2  
 f(11)       =        4  
 f(12)       =        5 
 f(13)       =        6 
 f(20)       =       12 
 f(30)       =       13 
 f(40)       =       14 
 f(100)      =       21           20 
 f(110)      =       33 
 f(120)      =       53 
 f(200)      =      140  
 f(300)      =      160  
 f(400)      =      180  
 f(1000)     =      301           300 
 f(1100)     =      422 
 f(2000)     =     1600 
 f(3000)     =     1900 
 f(10000)    =     4001          4000 
 f(11000)    =     5302  
 f(20000)    =    18000 
 f(100000)   =    50001         50000  
 f(1000000)  =   600001        600000  
 f(10000000) =  7000001       7000000  
 
  1. óÀ½ ¼ýÀÚ°¡ 1ÀÎ °æ¿ì : (ÀÚ¸´¼ö * 10) + 1
  2. óÀ½ ¼ýÀÚ°¡ 1ÀÌ ¾Æ´Ñ °æ¿ì : (10^(ÀÚ¸´¼ö-1))+(n/10)*(ÀÚ¸´¼ö-1))
ÀÌÁ¦ À̰ÍÀ» Àç±ÍÈ£Ãâ ÇÏ¸é µÉ °ÍÀÌ´Ù.

±×·¯³ª À̰ɷΠ¿Ï¼ºµÈ °ÍÀº ¾Æ´Ï´Ù. °¢ Àç±Í È£Ãâ¿¡¼­ óÀ½ ¼ýÀÚ°¡ 1ÀÌ ¾Æ´Ñ °ÍÀº »ó°üÀÌ ¾ø°ÚÁö¸¸, 1ÀÎ °æ¿ì¿¡´Â ¸ðµç °ªÀÌ ´Ã¾î³ª´Â °Í¿¡ ´ëÇØ¼­ ÀÚ¸´¼ö¸¸Å­ 1 ÀÌ ´ýÀ¸·Î ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î óÀ½ ¼ýÀÚ°¡ 1ÀÎ °æ¿ì¿¡´Â ´ÙÀ½°ú °°Àº °ø½ÄÀ» Àû¿ëÇØ¾ß ÇÒ °ÍÀÌ´Ù.
  1. À§ÀÇ °ø½ÄÀ» Àû¿ë½ÃŲ °á°ú¿¡ ÇöÀç ÀÚ¸®ÀÇ Å©±â ¸¸Å­À» ´õÇØÁà¾ß ÇÑ´Ù.
    ¿¹¸¦ µé¾î 1100 À̶ó¸é
    (301+(1000*0 )+ (21+(100*1) ) + (0 + (10*1)) + (0 + 0)= 422 ÀÌ´Ù.
    1120 À̶ó¸é
    (301+(1000*0 )+ (21+(100*1) ) + (12 + (10*1)) + (0 + 0)= 444 ÀÌ´Ù.

¿©±â¿¡¼­ ÇϳªÀÇ °¡Á¤À» ´õ ¼¼¿ï ¼ö ÀÖ´Ù.
  1. 1·Î ½ÃÀ۵Ǵ ¼ö Áß¿¡¼­ °¡Àå Å« ¼ö¸¦ Æ÷ÇÔÇÏ´Â ¼ö´Â óÀ½À» Á¦¿ÜÇÑ ¸ðµÎ°¡ 9ÀÎ ¼öÀÌ´Ù. ±×·¯¹Ç·Î ÀüºÎ °Ë»çÇÒ Çʿ䰡 ¾øÀÌ 1·Î½ÃÀ۵Ǵ °¡Àå ÀÛÀº¼ö¿Í Å«¼ö°¡ ÁÖ¾îÁø °ªº¸´Ù Å«Áö¸¦ È®ÀÎÇÑ ÈÄ °è»êÇÏ¸é µÈ´Ù. °í·Î À§ÀÇ °ø½ÄÀ» 5¹ø Àû¿ëÇÑ ÈÄ ¿ì¸®°¡ ¿øÇÏ´Â ¼ýÀÚ°¡ 100000 ~ 199999 »çÀÌ¿¡ ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
    f(100000) = 50001
    f(199999) = 200000

ÀÌ ¹æ½ÄÀº µÎ¹øÂ° ¹æ½Ä¿¡ ºñÇØ¼­ ±×´ÙÁö È¿À²ÀûÀ¸·Î º¸ÀÌÁö ¾Ê´Â´Ù. ½ÇÁ¦ ½Ã°£Å×½ºÆ®¸¦ ÇØµµ µÎ¹øÂ° ¹æ½Äº¸´Ù ºü¸£Áø ¾ÊÀ» °ÍÀÌ´Ù. ±×¸®°í °ø½ÄÀÌ Áö³ªÄ¡°Ô º¹ÀâÇÑ °¨ÀÌ ÀÖ´Ù. ¿Ïº®ÇÑ °ø½ÄÀ» ¸¸µé¾î³»±â À§Çؼ­´Â »ó´çÈ÷ ¸¹Àº Å×½ºÆ®¸¦ ÇØ¾ß ÇÒ°ÍÀÌ´Ù. ÀÌ·¯ÇÑ ´ÜÁ¡ÀÌ ÀÖ´Â ¹Ý¸é, ÀÌ °æ¿ì ÀϹÝÀûÀÎ Àû¿ëÀÌ °¡´ÉÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.

ÀÌ °ø½ÄÀ» ÀÌ¿ëÇÑ ÄÚµå´Â f(n) ÀÌ ¾ó¸¶ÀÎÁö¸¦ °è»êÇ϶ó ¶ó´Â ÀϹÝÀûÀÎ ¹®Á¦´Â ÈξÀ È¿À²ÀûÀ¸·Î Ç®¾î³¾ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µÎ¹øÂ° ¹æ½ÄÀÇ °æ¿ì n¸¸Å­ ¼øÈ¯À» ÇØ¾ß ÇÏÁö¸¸, ÀÌ ¹æ½ÄÀº ÀÚ¸´¼ö ¸¸Å­ÀÇ Àç±ÍÈ£Ã⸸À¸·Î °ªÀ» ¾ò¾î¿Ã ¼ö Àֱ⠶§¹®ÀÌ´Ù. ¹®Á¦°¡ ÀÓÀÇÀÇ ¼ö ¼öõ ¼ö¸¸¿¡ ´ëÇÑ f(n)À» ±¸ÇÏ´Â °ÍÀ̶ó¸é ´õ¿í È¿À²ÀûÀ¸·Î ÀÛµ¿ÇÒ °ÍÀÌ´Ù.

3.4 Key¸¦ ã¾Æ¶ó

¹®Á¦¸¦ ½±°Ô ÇØ°áÇÏ´Â ¶Ç´Ù¸¥ ¹æ¹ýÀº ¹üÀ§¸¦ Á¼Çô¼­ ÇϳªÀÇ ÇÙ½É Key¸¦ ã´Â °ÍÀÌ´Ù. À̰ÍÀº ƯÈ÷ º¹¸é»ê¹®Á¦¸¦ Ç®¶§ À¯¿ëÇÏ´Ù. ´ÙÀ½ÀÇ ¹®Á¦¸¦ º¸±â ¹Ù¶õ´Ù.
FORTY 
  TEN 
+ TEN 
======= 
SIXTY 
 
ÀÌ ¹®Á¦¸¦ Å©°Ô È®´ëÇØ¼­ º¸¸é ´äÀÌ Àß ´«¿¡ µé¾î¿ÀÁö ¾Ê´Â´Ù. ÇÙ½ÉÀº Y+N+N=Y À̺κÐÀÌ´Ù. ÀÌ ½Ä¿¡¼­ Y°¡ °á°ú°ªÀ¸·Î ³ª¿Ã·Á¸é, NÀÌ 0ÀÌ µÇ¾î¾ß ÇÔÀ» ¾Ë ¼ö ÀÖ´Ù. À̰ÍÀ» ¾Ë¸é ½±°Ô ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.

ÀÌÁ¦ ¾Æ·¡ÀÇ ¹®Á¦¸¦ Çѹø Ç®¾îº¸±â ¹Ù¶õ´Ù.
Solve this cryptic equation, realizing of course that values for M and E could be interchanged. No leading zeros are allowed. 
 
WWWDOT - GOOGLE = DOTCOM  
 

4 °ü·Ã ¹®¼­

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.