ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : thinking about search



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
¾î´À ¿Ü±¹ÀÎ ¼­¹ö °³¹ßÀÚÇÏ°í ¾ê±âÁß¿¡ ÀÌ ¹®Á¦¿Í ¾Ë°í¸®Áò ¾ê±â¸¦ ÇÏ´õ±º¿ä. ³ª¸§´ë·Î ±¦ÂúÀº ¾Ë°í¸®Áò°°½À´Ï´Ù.
Ȥ, ´õ ÁÁÀº ¹æ¹ýÀ̳ª ÀÌ ¹æ¹ýÀÇ ¹®Á¦Á¡ÀÌ ÀÖ´Ù¸é ±ÛÀ» ´Þ¾ÆÁÖ¼¼¿ä.


S = { 3, 10, 2, 99, 243, ... } µîÀÇ IntegerÇü n°³ÀÇ ¿ø¼Ò¸¦ °¡Áø ÁýÇÕ S°¡ ÀÖ½À´Ï´Ù.

±×¸®°í IntegerÇü K °¡ ÀÖ½À´Ï´Ù.

SÀÇ ¾î¶² µÎ ¿ø¼Ò¸¦ ÇÕÇØ¼­ K ¿Í ÀÏÄ¡ÇÏ´Â°Ô ÀÖ´Ù¸é True¸¦ Çϳªµµ ¾ø´Ù¸é False¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾îº¸¼¼¿ä.

ÇÑ ¿ø¼Ò¸¦ µÎ ¹ø ´õÇÏ´Â °æ¿ìµµ üũÇÕ´Ï´Ù.

´Ü, °¡Àå È¿À²ÀûÀÎ ÇÔ¼ö¸¦ »ý°¢Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù. Æò±Õº¹Àâµµ°¡ O(n)ÀÌ µÉ ¼ö ÀÖ´Â...

#define NUM 1000000 
#define KEY 350 
 
#include <iostream> 
#include <map> 
#include <stdlib.h> 
 
using namespace std; 
 
class Data { 
   private: 
      int data[NUM]; 
      map<int, bool> mapData; 
 
   public: 
      Data (void); 
      bool judge (int key); 
}; 
 
Data :: Data(void) { 
   int i; 
   for (i = 0; i < NUM; i++) data[i] = random() % NUM; 
} 
 
bool Data :: judge(int key) { 
   int i; 
   for (i = 0; i < NUM; i++) mapData[key - data[i]] = true; 
   for (i = 0; i < NUM; i++) if (mapData[data[i]]) return(true); 
   return(false); 
} 
 
int main(void) { 
   Data data; 
   if (data.judge(KEY)) cout << "Same pair exist" << endl; 
   else cout << "Same pair not exist" << endl; 
   return(EXIT_SUCCESS); 
} 
 

º¸Åë ½±°Ô »ý°¢Çؼ­ §´Ù¸é Æò±Õº¹Àâµµ°¡ O(n^2) ÀÌ µÉ°ÍÀε¥ ¸î¹é¸¸ µ¥ÀÌÅÍ¿¡¼­ ÀÌ °ÍÀº ¸Å¿ì Å« ¿À¹öÇìµå¶ó º¼ ¼ö ÀÖ°Ú´Ù. ÀÌ ¹æ¹ýÀº O(2n)Àε¥ O(n)À̶ó°íµµ º¼ ¼ö ÀÖ°Ú´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.