Lv.2 °¡Àå ªÀº °Å¸® ã±â
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

¼Ò°³

°Ë»ö¿£Áø¿¡¼­ "A B C"ÀÇ 3°³ÀÇ TermÀ¸·Î °Ë»öÀ» Çϸé, °Ë»ö°á°ú¿Í ÇÔ²² ¹®¼­ÀÇ ¿ä¾àÀ» ÇÔ²² Ãâ·ÂÇÑ´Ù. ÀÌ ¹®¼­ÀÇ ¿ä¾àÀº °Ë»ö¾î¿¡ ´ëÇÑ highlitingÀ» Àû¿ëÇÑ´Ù. ÀÌ ¿ä¾à¹®Àº ´ÙÀ½°ú °°Àº Á¶°ÇÀ» °¡Á®¾ß ÇÒ °ÍÀÌ´Ù.
  1. ¾à 200byte Á¤µµÀÇ Å©±â¸¦ °¡Áø´Ù.
  2. Term ¹Ðµµ¸¦ °è»êÇÑ´Ù. Áï ¹®¼­¿¡¼­ 3°³ÀÇ TermÀÌ °¡Àå ±ÙÁ¢ÇÑ ¿µ¿ªÀ» ÃßÃâÇØ³»¾ß ÇÒ °ÍÀÌ´Ù.

"¸®´ª½º ¸í·É¾î cp"·Î °è»êÇßÀ» ¶§´Ù.
º¸³½ »ç¶÷ Linux

¹®Á¦

´ÙÀ½ÀÇ ¹®ÀÚ¿­¿¡¼­ "A B C"°¡ °¡Àå °¡±î¿î °Å¸®¿¡¼­ ÃâÇöÇÏ´Â ÁöÁ¡À» ã¾Æ¶ó.
AxxxxxxxxxxxxxxxxxxxxAxxxxxxxxBxxxxxxxxCxxxxCxxxxAxxBxxxxAxCxB 
 
  • ¿ì¸®´Â Á÷°üÀûÀ¸·Î °¡Àå ¸¶Áö¸·ÀÇ AxCxB°¡ °¡Àå °¡±î¿î °Å¸®¿¡ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.

Ãâ·Â°á°ú´Â ´ÙÀ½°ú °°´Ù.
56, 60 Áö¿ª¿¡¼­ ¹ß»ý. °Å¸®´Â 4 
 


¹®Á¦ Ç®ÀÌ

yundreamÀÇ Ç®ÀÌ

ÃÖÀûÈ­ÇÏÁö ¾ÊÀº ÄÚµåÀÓ. O(n)
#include <stdio.h> 
#include <unistd.h> 
#include <string.h> 
#include <fcntl.h> 
#include <vector> 
 
using namespace std; 
 
struct term { 
    int  term; 
    int  proxy; 
 
}; 
int distance(int a, int b, int c, int *amax, int *amin); 
 
int main(int argc, char **argv) 
{ 
    char str[]="AxxxxxxxxxxxxxxxxxxxxxxAxxxBxxxxxAxxxxCxxxxxxCxAxxxxBxxxCxxxAxBxCx"; 
    int i = 0; 
    vector<struct term> post; 
    vector<struct term>::iterator mi;  
 
    int min_dist = 10000; 
    int dist = 0; 
    int max, min; 
    int upper, lower; 
 
    struct term termp; 
    for(i = 0; i < strlen(str); i++) 
    {    
 
        switch(str[i]) 
        {        
            case 'A':    
                termp.term = 'A';    
                termp.proxy = i+1; 
                post.push_back(termp); 
                break;           
            case 'B':    
                termp.term = 'B';    
                termp.proxy = i+1; 
                post.push_back(termp); 
                break;           
            case 'C':    
                termp.term = 'C';    
                termp.proxy = i+1; 
                post.push_back(termp); 
                break;           
        }        
    }    
    printf("         1         2         3         4         5         6         7         8         9\n"); 
    printf("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\n"); 
    printf("%s\n", str); 
 
    mi = post.begin(); 
    struct term mask[3]; 
    memset(mask, 0x00, sizeof(term)*3); 
 
    while(mi != post.end()) 
    { 
        mask[mi->term-65] = *mi; 
        if(mask[0].proxy && mask[1].proxy && mask[2].proxy) 
        { 
            dist = distance(mask[0].proxy, mask[1].proxy, mask[2].proxy, &upper, &lower); 
            if(dist < min_dist) 
            { 
                min_dist = dist; 
                max = upper; 
                min = lower; 
            } 
        } 
        mi++; 
    } 
    printf("%d,%d¿¡ ÀÖ°í °Å¸®´Â %dÀÌ´Ù.\n", min, max, min_dist); 
 
    return 1; 
} 
 
int distance(int a, int b, int c, int *amax, int *amin) 
{ 
    int min=0; 
    int max=0; 
    if(a > b) 
    { 
        max = a; 
        min = b; 
    } 
    else 
    { 
        max = b; 
        min = a; 
    } 
 
    if(max < c) 
    { 
        max = c; 
    } 
    if(min > c) 
    { 
        min = c; 
    } 
    *amax = max; 
    *amin = min; 
    return max-min; 
} 
 

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