[»çÀ̹ö ¼ö¾÷46]
<¹®ÀÚ¿­ ¾ÐÃà>


<¹®Á¦>¾ËÆÄºªÀ̳ª ¼ýÀÚ·Î ÀÌ·ç¾îÁø ¹®ÀÚ¿­À» ¹Þ¾Æµé¿© °°Àº ¹®ÀÚ°¡ ´Ù¼¸ ¹ø ÀÌ»ó
¹Ýº¹µÇ´Â °æ¿ì ¹Ýº¹µÇ´Â ¹®ÀÚ ¹Ù·Î ¿À¸¥ÂÊ¿¡ ¹Ýº¹ Ƚ¼ö¸¦ ()¿¡ ³Ö¾î Ç¥±âÇÏ´Â ¹æ¹ýÀ¸·Î ¹®ÀÚ¿­À» ¾ÐÃàÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇϽÿÀ!

input9.txt
AAAAABBBCCCCCCCCC

output9.txt
A(5)BBBC(9)

<ó¸®Á¶°Ç>
ÁÖ¾îÁø ÀÔ·ÂÆÄÀÏÀÇ ³»¿ë Áß ¹®ÀÚÀÏ °æ¿ì ¼Ò¹®ÀÚ¿Í ´ë¹®ÀÚ¸¦ ±¸º°ÇÏ¿© Ç¥½ÃÇØ¾ß ÇÑ´Ù.



¾Æ·¡ÀÇ µÎ ÇлýÀº °¢ÀÚ ´Ù¸¥ ¹æ¹ýÀ» ¼±ÅÃÇÏ¿© ¹®Á¦¸¦ Ç®¾ú½À´Ï´Ù. ÇÏÁö¸¸, ¾Ë°íº¸¸é ºñ½ÁÇÑ ¹æ¹ýÀÓÀ» ¾Ë ¼ö ÀÖÀ¸³ª ÀÚ¼¼È÷ »ìÆìº¸¸é Á¶±Ý¾¿ ´Ù¸¥ »ý°¢ÀÌ Ç¥ÇöµÇ¾î ÀÖ½À´Ï´Ù. ¿©·¯ºÐµµ Àß ºÐ¼®ÇÏ¿© ¶Ç ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´ÂÁö ¾Ë¾Æº¸½Ã±â ¹Ù¶ø´Ï´Ù. ½ÇÁ¦ ¾ÐÃà±â¼úÀº ¹è¿­À» »ç¿ëÇÏÁö ¾Ê°í ¹Ù·Î ¾ÐÃàÇϵµ·Ï ¼³°èµÇ¾î ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¿Ö³Ä¸é ¸Å¿ì Å« ÆÄÀÏÀ» ¾ÐÃàÇϴµ¥ ¸¹Àº ½Ã°£À̳ª °ø°£ÀÌ ÇÊ¿äÇÏ¸é ¹®Á¦°¡ ¹ß»ýÇÒ ¼öµµ Àֱ⠶§¹®ÀÔ´Ï´Ù. ¹è¿ö¼­ ±×´ë·Î Ç¥ÇöÇÏ´Â °ÍÀº ¿Ã¸²ÇǾƵå Á¤½ÅÀÌ ¾Æ´Õ´Ï´Ù. ¶Ç´Ù¸¥ ÇØ°á ¹æ¹ýÀ» ã±âÀ§ÇØ °è¼Ó ½ÇÇèÇÏ°í ºÐ¼®ÇÏ¿© âÁ¶ÇÏ´Â Á¤½ÅÀÌ ¹Ù·Î ¿Ã¸²ÇǾƵå Á¤½ÅÀ̸ç, Ç×»ó ¿©·¯ºÐÀÌ ¸¸³¯ ¹®Á¦´Â ÀÌ¹Ì ¹è¿ü°Å³ª ´Ù¸¥ »ç¶÷ÀÌ ÀÌ¹Ì ÇØ°áÇÑ ¹®Á¦¸¦ Ç®±â À§ÇÔÀÌ ¾Æ´Ï°í óÀ½ Á¢ÇÏ´Â ¹®Á¦, ¾Æ¹«µµ Ç®Áö ¸øÇß´ø ¹®Á¦¸¦ Á¤º¸°úÇÐÀ¸·Î ÇØ°áÇϱâ À§Çؼ­ ¿¬½ÀÇÏ°í ¹è¿ì°í ÀÖ´Ù´Â °ÍÀ» ÀØÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù
µÎ Çлý ¸ðµÎ Âü ÀßÇß½À´Ï´Ù.


ÃÖ¤·¿õ ÇлýÀÌ ¸¸µç ÇÁ·Î±×·¥
#include<stdio.h>
#include<string.h> 

char data[10001], sm[10001]; 
int sn[10001]; 
int len, sp, i, j; 

void process() 
{ 
        len=strlen(data); 
        for(i=0; i<len; i++){ 
                if(sm[sp]==data[i]){ 
                        sn[sp]++; 
                } 
                else{ 
                        sp++; 
                        sm[sp]=data[i]; 
                        sn[sp]=1; 
                } 
        } 
} 

void input() 
{ 
        FILE *ip=fopen("input.txt", "r"); 

        fscanf(ip, "%s", data); 

        fclose(ip); 
} 

void output() 
{ 
        FILE *op=fopen("output.txt", "w"); 

        for(i=1; i<=sp; i++){ 
            if(sn[i]>4){ 
                fprintf(op, "%c(%d)", sm[i], sn[i]); 
            }
            else{ 
                for(j=1; j<=sn[i]; j++){ 
                        fprintf(op, "%c", sm[i]); 
                } 
           } 
        } 

        fclose(op); 
} 

void main() 
{ 
        input(); 
        process(); 
        output(); 
} 
(º¯¼ö¼±¾ð)
(1´Ü°è)
'process()'ÇÔ¼ö
(2´Ü°è)
'input()'ÇÔ¼ö
(3´Ü°è)
'output()'ÇÔ¼ö
main()ÇÔ¼ö
(º¯¼ö¼±¾ð)
(1´Ü°è)
'input()'ÇÔ¼ö
(2´Ü°è)
'output()'ÇÔ¼ö
main()ÇÔ¼ö
Á¶¤·Çö ÇлýÀÌ ¸¸µç ÇÁ·Î±×·¥
#include<stdio.h>

char n[1001]={0,}; 
int nn=0, c=0, k=0, i, j; 

int input() 

{ 
   FILE *ifp=fopen("input.txt","r"); 
   
   nn=1; 
   while(fscanf(ifp,"%c",&n[nn])!=EOF){ 
      nn++; 
   } 
   nn--; 
   
   fclose(ifp); 

   return -1; 
} 

int output() 

{ 
   FILE *ofp=fopen("output.txt","w"); 

   c=n[1]-64;  k=1; 
   for(i=2; i<=nn; i++){ 
      if( (n[i]-64)==c ){ 
         k++; 
      } 
      else{ 
         if( k>4 ){ 
            fprintf(ofp,"%c(%d)",c+64,k); 
         } 
         else{ 
            for(j=1; j<=k; j++){ 
               fprintf(ofp,"%c",c+64); 
            } 
         } 
         c=n[i]-64;  k=1; 
      } 
   } 
   fclose(ofp); 
   return -1; 
} 

int main() 

{ 
   input(); 
   output(); 

   return -1;  
} 
[Æò°¡ ¹®Á¦]
°¢ÀÚ ´Ù¸£°Ô ÀÛ¼ºÇÑ µÎ ÇлýÀÇ ÇÁ·Î±×·¥À» ºÐ¼®Çϼ¼¿ä!