[ÄÄÇ»ÅÍ/ÀÎÅͳÝ]

ÄÄ°øÀ̳ª °³¹ßÀÚ ºÐµé °úÁ¦ Áú¹® ÀÔ´Ï´Ù ¤Ð¤Ð

rank HerSe 2020-09-26 (Åä) 00:05 Á¶È¸ : 1099

ÀڷᱸÁ¶ °úÁ¦ÁßÀε¥ ºñÀü°øÀÚ¶ó¼­ ³Ê¹« ¾î·Æ°í ¹°¾îº¼ ¶§µµ ¾ø³×¿ä ¤Ð¤Ð ½ºÅÃÀ» ÀÌ¿ëÇÑ °ýÈ£°Ë»ç ÇÁ·Î±×·¥À» ¸¸µå´Â°Çµ¥ ÁÖ¼®, ÀÛÀº µû¿ÈÇ¥, Å« µû¿ÈÇ¥ ¾È¿¡ÀÖ´Â °ýÈ£´Â ¹«½ÃÇϸ鼭 °Ë»çÇÏ´Â ÇÁ·Î±×·¥Àε¥ ¾î¶»°Ô  ó¸®ÇØ¾ß ÇÒÁö ¸ð¸£°Ú¾î¿ä


#include <cstdio>

#include <cstdlib>

#include <string>

#include <iostream>

#include <sstream>


using namespace std;


inline void error(const char* message) {

    printf("%s\n", message);

    exit(1);

}


const int MAX_STACK_SIZE = 20;


class ArrayStack {


    int top;

    int data[MAX_STACK_SIZE] = { 0, };


public:

    ArrayStack() { top = -1; ; }

    ~ArrayStack() {}


    bool isEmpty() { return top == -1; }

    bool isFull() { return top == MAX_STACK_SIZE - 1; }


    void push(int e) {

        if (isFull()) error("½ºÅà Æ÷È­ ¿¡·¯");

        data[++top] = e;

    }


    int pop() {

        if (isEmpty()) error("½ºÅà °ø¹é ¿¡·¯");

        return data[top--];

    }


    int peek() {

        if (isEmpty()) error("½ºÅà °ø¹é ¿¡·¯");

        return data[top];

    }


    void display() {

        printf("[½ºÅà Ç׸ñÀÇ ¼ö=%2d] ==> ", top + 1);

        for (int i = 0; i <= top; i++)

            printf("<%2d>", data[i]);

        printf("\n");


    }

};


bool checkMatching(const string& s) {


    int nLine = 1;

    int bracket = 0;

    int nChar = 1;

    bool quotation = false, bigQuot = false;

    bool note = false;



    ArrayStack stack;

    


    for (int i = 0; i < s.size(); i++) {


        char ch = s[i];


        nChar++;

        if (ch == '\n') nLine++;

       


        if (ch == '[' || ch == '{' || ch == '(')

            stack.push(ch);

        else if (ch == ']' || ch == '}' || ch == ')') {

            if (stack.isEmpty()) return false;

            else {

                int prev = stack.pop();

                bracket++;

                if ((ch == ']' && prev != '[') ||

                    (ch == '}' && prev != '{') ||

                    (ch == ')' && prev != '(')) return false;

            } //else

        } //else if

    } //for



           if (!stack.isEmpty())

                printf("error : ¶óÀμö %d ÀÏÄ¡°ýÈ£¼ö %d ¹®ÀÚ¼ö%d\n", nLine-1, bracket, nChar);

            else

                printf("OK : ¶óÀμö %dÀÏÄ¡°ýÈ£¼ö %d ¹®ÀÚ¼ö%d\n", nLine-1, bracket, nChar);

            return stack.isEmpty();


} //function




int main() {

    std::string Str, temp;

    while (true) {

        std::getline(std::cin, temp);

        if (temp == "EOF")break;

        Str.append(temp);

        Str.append("\n");

        std::cin.clear();

    }

    

    checkMatching(Str);

    

    return 0;

}






¿äûÀÚ°¡ ÀÚ½ÅÀÇ 500Æ÷ÀÎÆ®¸¦ °É¾ú½À´Ï´Ù. ´äº¯ÀÌ Ã¤ÅõǸé 250Æ÷ÀÎÆ®¸¦ µå¸³´Ï´Ù.
´ñ±Û 2°³ ´ñ±Û¾²±â
rank¸Ç³¯Ä¡Å² 2020-09-26 (Åä) 00:55
main ¹®¿¡¼­ ÁÙ¹Ù²Þ Æ÷ÇÔµÈ stringÀ» ³Ñ°Ü ¹Þ¾ÒÀ¸´Ï±ñ while¹®¿¡¼­´Â ´Ù½Ã ÇÑÁÙ¾¿ ÀÐ¾î µé¿©¾ß°Ú³×¿ä.

// main¿¡¼­ ¹ÞÀº s·Î stringstream »ý¼º
std::stringstream ss(s);
std::string to;

// °á±¹ ¿øÇÏ½Ã´Â°Ô ÀÌ ºÎºÐÀÌ¿¡¿ä
// ss¿¡¼­ ÇÑÁÙ¾¿ to·Î ¹Þ°í to¸¦ 0ºÎÅÍ ·çÇÁµ¹¸é¼­ ij¸¯ÅÍ °¡Á®¿À¸é µÉ °Í °°³×¿ä
while(std::getline(ss,to,'\n')){

 
}



±×·±µ¥ main¹®ÀÌ À߸øµÈ°Ô ¾Æ´Ï¶ó¸é checkMatching ÇÔ¼ö ³»ºÎ°¡ À߸øµÈ °Í °°³×¿ä.Àú·±½ÄÀ̸é ù¹ø° ÁÙ È®ÀÎÇÏ°í ÇÁ¸°Æ®ÇÏ°í ¸®ÅÏÇÒ °Í °°³×¿ä.
ranknick4 2020-09-27 (ÀÏ) 01:28
ÀڷᱸÁ¶´Â Àü°øÀÚµµ ¾î·Æ½À´Ï´Ù.
ÄÄ°øÀü°øÀÚµµ Çб³ Á¹¾÷Çϱâ Àü¿¡ °úÁ¦¸¦ ¸øÇÏ´Â °æ¿ì°¡ ¸¹ÁÒ.
¿äÁòÀº ¾î¶²Áö ¸ð¸£°ÚÁö¸¸ ¿¹Àü¿£ Á¹¾÷ÇÒ¶§ ÄÚµùÀ» °ÅÀÇ ¸øÇÏ´Â °æ¿ì°¡ ¸¹¾Ò´ø°Í °°½À´Ï´Ù.

À§ÀÇ ³»¿ëÀÌ Á¤È®ÇÏ°Ô ¹ºÁö Àß ¸ð¸£°ÚÁö¸¸...
[ ] { } ( ) ¿©¼¸°³¸¦ ã¾Æ¼­ ±×°ÍÀÇ ÇØ´ç Á¤º¸ ( ÀÏÄ¡°ýÈ£¼ö ) µîÀ» Ãâ·ÂÇÏ´Â °ÍÀ̶ó¸é

´Ü¼øÇÏ°Ô ¸»·Î À̾߱â Çϸé...
À쫆 ̴¿¡ ÀÖ´Â ½ºÅà ¼Ò½º Áß¿¡
isEmpty()
isFull()
pop()
push(int e)
µîµîÀ» ´Ù À§¿Í °°ÀÌ ³Ö¾î¼­ ½ºÅÃÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Áغñ¸¦ ÇÕ´Ï´Ù.
±×·¯¸é ¸ÞÀθ¸ ¸¸µé¸é µÇÁÒ.


Áï ¿ø°¡ ÀÔ·Â °°Àº°Í ¹Þ¾Æ¼­ put ÇÏ´Â ¼Ò½ºµµ Ã¥¿¡ ÀÖÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
±×°ÍÀ» ±×´ë·Î ¸ÞÀο¡ ºÙ¿©¼­ ½ºÅÿ¡ ³»¿ëÀ» ¸¸µé¾î ³Ö°í

ÀڷᱸÁ¶ Ã¥¿¡ º¸¸é ½ºÅÃÀ» ÆËÇÏ´Â ¹Ýº¹¹®ÀÌ ÀÖ½À´Ï´Ù.
±×°ÍÀ» ±×´ë·Î ³»¿ë¸¸ Á¦°ÅÇÏ°í (for¹® Á¦ÀÏ À­ÁÙ ÇÏ°í Á¦ÀÏ ¸¶Áö¸· } ¸¸) º¹»ç Çؼ­
±× for ¹® ¾È¿¡
--
[ ] { } ( ) ¿©¼¸°³¸¦ ã¾Æ¼­ ±×°ÍÀÇ ÇØ´ç Á¤º¸ ( ÀÏÄ¡°ýÈ£¼ö ) µîÀ» Ãâ·ÂÇÏ´Â °ÍÀ̶ó¸é
--
°°Àº °úÁ¦·Î ³ª¿Â ³»¿ë¸¸ ³Ö¾î¸é µÇÁÒ.
¸»·Î´Â °£´Ü Çѵ¥ ÀÌ°ÍÀÌ ÄÄ°øÇлýÀ̳ª ºñÀü°øÀÚ°¡ µé¾î¸é ¿Ü°è¾î °°ÀÌ µé¸± ¼ö°¡À־...

 checkMatching()
°°Àº ÇÔ¼ö°¡ µüÈ÷ ÇÊ¿äÇÒ°Í °°Áöµµ ¾Ê½À´Ï´Ù¸¸.. À½...
¿ö³« °£´ÜÇؼ­ ±×³É ¸ÞÀÎÀÇ for ¹® ¾È¿¡¼­ ó¸® Çϴ°ÍÀÌ °£´ÜÇÒµí ÇÕ´Ï´Ù.

¹» ¸¸µé¾î¾ß ÇÏ´ÂÁö ¼³¸íÇϱⰡ ¾î·ÆÁÒ.
±×·² °æ¿ì¿¡´Â

ÀԷµ¥ÀÌÅÍ , Ãâ·Âµ¥ÀÌÅÍ ÀÇ ¿¹¸¦ ÇÑ°³ ¶Ç´Â »ç·Êº°·Î ¸î°Ô º¸¿©ÁÖ´Â °ÍÀÌ ´õ ¼³¸íÀÌ ½¬¿ï ¼ö ÀÖ½À´Ï´Ù.

ÀÔ·ÂÀÚ·á:
    abc2{2agsl)s[ 
Ãâ·ÂÀÚ·á:
    ÀÏÄ¡°ýÈ£¼ö 3

°°ÀÌ ÇÏ¸é ¸Å¿ì Á÷°üÀûÀÌ µË´Ï´Ù.
ÇÐÀÚÁß¿¡ ÇѸíÀÌ ÀåȲÇÏ°Ô ¼³¸íÇÏ´Â°Í º¸´Ù ÀÔÃâ·Â ÀڷḦ º¸¿©Áִ°ÍÀÌ ´õ ³´´Ù°í ÇÑ »ç¶÷ÀÌ ÀÖÁÒ.

¹øÈ£ Á¦¸ñ ±Û¾´ÀÌ »óÅ Æ÷ÀÎÆ® ³¯Â¥ Á¶È¸
[°øÁö]  ¡Ø Áö½ÄiN °Ô½ÃÆÇ ÀÌ¿ë¾È³» rankeToLAND
0 03-28
[°øÁö]  ¡Ø Å䷻Ʈ»çÀÌÆ®Áú¹®,ÀúÀÛ±Ç ÀÚ·á¿äû ±ÝÁö rankeToLAND
0 08-25
[º¸Çè»ó´ã½Ç]  º¸Çè ¸éÃ¥±â°£ À͸í
129593 [TV/¿µ»ó]  ÇØ¿Ü¿¡¼­ ¿¾³¯ Çѱ¹ ¿¹´É µîÀ» ¹«·á·Î º¸´Â »çÀÌÆ®¸¦ ã°í ÀÖ½À´Ï´Ù. rank¥É¥É¥É¥É¥É¥É¥É¥É
1000 19:54 48
129592 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  MsMpEng.exe ÆÄÀÏ ¾ø¾Ö´Â °Ç Á¤³ç ¹æ¹ýÀÌ ¾ø´Â °Ç°¡¿ä? rankwpfhfh
2000 17:43 55
129591 [°æÁ¦/ÀçÅ×Å©]  ºÒ¾ÈÇؼ­ ¿©ÇàÀÚº¸ÇèÀÌ¶óµµ Á» Àß µé¾îº¸·Á°í Çϴµ¥¿ä rank¼ö¸·ÀÌ
300 13:17 52
129590 [°ÔÀÓ]  ¼Ò¿ï½ºÅæ ¼­¹ÙÀ̹ú ÀßÇϽôºР°è½Å°¡¿ä? rankenrilj
1000 09:17 52
129589 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  À©µµ¿ìµðÆæ´õ Äѱâ~ (2) À̹ÌÁö rankÇÔ³ÄÇÔ³ÄÇÔ
2000 08:24 127
129588 [TV/¿µ»ó]  2007 Mnet KM Music Festival Redcafet ¿µ»ó ã¾Æ¿ä. rank´Þ´öÀÌ
3000 04-18 60
129587 [°Ç°­/ÀÇÇÐ]  ÀÌ´¢Á¦ Àå±âº¹¿ëÇصµ µÉ±î¿ä? (6) rankÁß´ëÀåÀÌ´Ù
1000 04-18 99
129586 [Ãë¹Ì/»ýÈ°]  Èçµé¸®´Â °Ç ±ê¹ßÀÌ ¾Æ´Ï¶ó ³× ¸¶À½ÀÌ´Ù - ¿µ¾î·Î - rankÀÏ»ó»ýÈ°¸ðÇè
333 04-18 101
129585 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  À¯Æ©ºê À½¾Ç _ ¿øº» ¼öÁØ mp3 ·Î ´Ù¿î ¹Þ´Â ¹æ¹ý ÀÖÀ»±î¿ä ??? (5) rankÀÏ»ó»ýÈ°¸ðÇè
333 04-17 129
129584 [±âŸ]  ½Å¹ß µÚ²ÞÄ¡ ¾µ·Á¼­ ¾ÆÇÁ³×¿ä, (2) rankÁ¤´Ù¼Ø
200 04-17 107
129583 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  À¯ÅõºÎ Àç»ý¹Ù°¡ ÀÌ»óÇØÁ³³×¿ä. rankÀÚÀÛ±Ø
500 04-17 133
129582 [TV/¿µ»ó]  °¡Àå ÃÖ±ÙÀÇ 3D ¿µÈ­´Â? (1) rankº£ÁöŸ¸Æ½º
800 04-16 107
129581 [±âŸ]  ¼ö¾Ð ½ë Çعٶó±â »þ¿ö±â Çìµå ÃßõºÎŹµå·Á¿ä (3) rankºñ¹öu
2000 04-16 130
129580 [TV/¿µ»ó]  ¼Âž¹Ú½º¿Í TV hdmi ÄÉÀÌºí¿¡ ´ëÇؼ­ Áú¹®ÇÕ´Ï´Ù (2) rank·£µð113
300 04-16 94
129579 [°Ç°­/ÀÇÇÐ]  ÇöÀç ¼­¿ï TOP5 ´ëÇк´¿ø ¿¹¾àÇÏ´Â ¹æ¹ý ÀÖÀ»±î¿ä? (1) rankIlIIllIll
1000 04-16 118
129578 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  ÀÎÅÍ³Ý ¾øÀÌ ¿ÍÀÌÆÄÀ̸¸ »ç¿ë°¡´ÉÇÒ±î¿ä? (4) rankKingÅ·½º¸Ç
500 04-16 195
129577 [±âŸ]  ¼ö½À±â°£Áß Á÷¿øÇØ°í½Ã ½Ç¾÷ ±Þ¿© ¹× ±Þ¿© °è»ê¹ý ¹®ÀÇ [ÀÚÇÊ] (7) rank¿¡·ÎÁ
2000 04-15 242
129576 [±âŸ]  ¾Ë¶ã¿ä±ÝÁ¦ À߾ƽôºР°è½Å°¡¿ä?.txt (4) rank¿©Àڿ;ÆÀ̴³öÁà
2000 04-13 151
129575 [°ÔÀÓ]  ÅÁÅÁƯ°ø´ë ¾²´ø Æù °èÁ¤À¸·Î PC¿¬µ¿ ÇÏ´Â ¹æ¹ý Á» ¤Ð (2) rank23455
3000 04-13 133
129574 [±âŸ]  ÀÌ°Ô ¹«½¼ ¹ú·¹ÀÎÁö ¾Ë¼öÀÖÀ»±î¿ä?.jpg (2) À̹ÌÁö rankMr·ç
300 04-12 203
129573 [Ãë¹Ì/»ýÈ°]  ÁÖº¯ ´Ù¸¥ ¾ÆÆÄÆ® ºÐ¸®¼ö°ÅÀÏ ±Ã±Ý..¤» ¾²·¡±â ½ºÆ¿·¯~~~~@ (3) rankÀÏ»ó»ýÈ°¸ðÇè
369 04-12 138
129572 [±âŸ]  Á¦°¡ ¿ø·ë»ç´Âµ¥ ¿ÍÀκ´ ¹ö¸®´Â°Å ¶§¹®¿¡ ±Ã±ÝÇÑ°Ô;; (2) rank123dcf
1000 04-12 256
129571 [¼îÇÎ]  ¾Ë¸®¿¡¼­ ȯºÒ ¸Þ¼¼Áö°¡ ¿Ô´Âµ¥¿ä, ¾îµð·Î ¿Â°Ç°¡¿ä? (1) rank·¹µå·¹¿À
500 04-12 198
129570 [Ãë¹Ì/»ýÈ°]  »çÁø ÀÎÈ­ÇÏ·Á¸é ¾î¶»°Ô Çϳª¿ä ??? (1) rankÀÏ»ó»ýÈ°¸ðÇè
369 04-12 112
129569 [°Ç°­/ÀÇÇÐ]  Ä¡°ú ½Å°æÄ¡·á Çغ¸½Å ºÐ °è½Å°¡¿ä?.txt (9) rank¿©Àڿ;ÆÀ̴³öÁà
1000 04-11 151
129568 [±âŸ]  ÀÚÀÏ´ë¿ìÁßÇü¹ö½º ·¹½ºÅ¸ Á¤ºñ¼Ò rankGoldT
500 04-11 100
129567 [¼îÇÎ]  ´ç±ÙÆäÀÌ °èÁ¿¬°á¾øÀÌ ±¸¸Å°¡´ÉÇÑ°¡¿ä? (2) rankenrilj
1000 04-10 115
129566 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  hdmi2.1 ÇØ»óµµ¿Í ÁÖ»çÀ² (2) rank±³¹Ì³×ÀÌÅÍ
3000 04-10 198
129565 [±âŸ]  ¸ÞÆ®¸®½º¿¡ ¶ô½º³¿¼¼ ¾î¶»°Ô ¾ø¾Ö³ª¿ä? (2) À̹ÌÁö rank±è±è°¨¸ÓÀÌ
500 04-09 120
129564 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  À©µµ¿ì ÃʱâÈ­ÇÏ¸é °øµ¿ÀÎÁõ¼­ Áö¿öÁöÁÒ? (2) rank°¡ÀÏ
200 04-09 140
129563 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  À©µµ¿ìÁî ´ÜÃàÅ° Áú¹® (2) rank»ö¸¸º¸
500 04-09 128
129562 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  À¯Ç÷¯½º À¯Æ©ºê ¿¬µ¿ (1) ranktimeafte
200 04-08 145
129561 [±âŸ]  ¾çµµ¼Òµæ¼¼ ½Å°í ¾Æ½Ã´Â ºÐ °è½Ã³ª¿ä? [ÀÚÇÊ] (2) rankÁ¤¼®¾Öºñ
2500 04-07 140
129560 [ÀüÀÚ±â±â]  ÃæÀü·£ÅÏ ´Ù¸¥ ¾Æ´äÅÍ V A ÃæÀü°¡´ÉÇÑÁö (5) À̹ÌÁö rankÀÏ»ó»ýÈ°¸ðÇè
369 04-07 135
129559 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  MSI ¸ÞÀκ¸µå ¹ÙÀÌ¿À½º ¸ØÃã Çö»ó (3) rankDown
5000 04-07 181
129558 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  ¹ÙÅÁÈ­¸éº¸±âÀ¯ÇüÀÌ À½¾ÇÀ¸·Î µÇ¾îÀִµ¥ ¾î¶»°ÔÀÌÀüÀ¸·Î µ¹¸±¼öÀÖÀ¸±î¿ä? (1) À̹ÌÁö rankµµ¿ÍÁà¿äµµ¸®±º
500 04-06 120
129557 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  ±¸±Û µå¶óÀ̺ê (9) À̹ÌÁö rank¶Ç¿ô´Ù¶Ç
5000 04-06 218
129556 [À½¾Ç]  ³ë·¡ ¾Æ½Ã´ÂºÐ? rank¿ÀÁöÄ¡Áî
500 04-06 114
129555 [ÄÄÇ»ÅÍ/ÀÎÅͳÝ]  Å©·Ò À¯Æ©ºê ¶óÀ̺굿¿µ»ó ½Ãû½Ã ¸Þ¸ð¸® »ó½Â¹®Á¦ (10) rankºí·¢Á¶
5000 04-05 216
129554 [Ãë¹Ì/»ýÈ°]  µµ¿Ã ³í¾îÀ̾߱⠰øÀÚ°¡ ÀÚ½ÅÀÇ Áö³ª¿Â »îÀ» À̾߱âÇÏ´Â rankÀÏ»ó»ýÈ°¸ðÇè
369 04-05 110

Áú¹®°ú´äº¯ ¿ù°£ ÃÖ´ÙäÅà ¿ì¼ö´äº¯È¸¿ø

  • rank¿©Àڿ;ÆÀ̴³öÁà äÅô亯¼ö (8)
  • rank±×±îÀ̲¨¹¹¶ó°í äÅô亯¼ö (5)
  • rankÀáÀûÁß Ã¤Åô亯¼ö (3)
  • rankdasari äÅô亯¼ö (2)
  • rank´É±ÛÀÌ3 äÅô亯¼ö (2)
  • rank³ª°Ö äÅô亯¼ö (1)
  • rank¹ìÆÄÀ̾î äÅô亯¼ö (1)
  • rankÈ£Á¶ äÅô亯¼ö (1)
  • rankpskgoo äÅô亯¼ö (1)
     1  2  3  4  5  6  7  8  9  10  ´ÙÀ½

    °øÀ¯Çϱâ

    ÀÌÅä·£µå ·Î°í

    °èÁ¤ ã±â ȸ¿ø°¡ÀÔ
    ¼Ò¼È·Î±×ÀÎ