나 개발자 진짜 되냐?

백준 C++ 9012번 괄호 ( stack ) 본문

C++을 시작해봐요!/단계문제를 풀어보아요!

백준 C++ 9012번 괄호 ( stack )

Snow Rabbit 2026. 4. 17. 17:43

흑..

아쉬운 마음을 뒤로하고..!

 

저는 아무래도 프로그래머스로 넘어갈 듯 합니다.

사실 이제 이 블로그도 어떻게 써야할지 감이 잘 안와요.

 

프로그래머스로 다시 시작 할 수 있을지도 잘 모르겠네요.

 


 

 

이것도 저번 문제를 풀었었는데..

2026.04.07 - [C++을 시작해 봐요!/단계문제를 풀어보아요!] - 백준 C++ 4949번 균형 잡힌 세상 ( stack, getline )

 

백준 C++ 4949번 균형잡힌 세상 ( stack, getline )

중국어를 공부하기 위해서살짝씩 아주 얕게 공부하고 있었는데오늘 알게 된 사실에 의하면7월부터 hsk ( 중국어 자격증 시험 ) 이 어려워져서그전에 따면 좋다고 합니다. 그래서 나도 이번기회에

qua28.tistory.com

 

음...

 

일단 저번에 문제 풀었던거랑 비슷한 거 같은데

string으로 받아서 char로 쪼갠다음에 하나씩 확인 후

( 면 스택에 push

) 이면서 (게 있으면 pop 

스택이 비었으면  yes 출력

 

근데 그럼 else if문이 너무 많아지는데 괜찮은 건가? 싶긴 했다.

 

그리고 사실 empty인데 ) 이게 나오면 가차 없이 no인데 이걸 어떻게.. 해줘야 할지 잘 모르겠다.

bool값??

 

생각보다 머리가 복잡해진다..

 

1.  처음에 ( 가 나오면 일단 push

2. 처음에 )가 나오면 일단 No
3. (가 나오면 일단 push

4. )가 나오면 ( 이게 있을 때 ( 를 pop

 

5. True가 거짓이면 No ( 2번 )

6. empty면 Yes ( 괄호 짝이 다 맞은 경우 )
7. 그 이외 다 No

 

일단 풀어서 검사받아본다.

 

 

 

정답!!!

 

인지 씨는

 

지금까지 넣는 건 ( 밖에 없으니

else if에다가 굳이 ( 이거 검사 안 해도 된다!

 

그리고 else if 마지막 false에서 그 뒤로는 검사할 필요 없으니

break; 해줘라!

 

난 break 해주면 while문까지 나가질까 봐..

걱정했는데 아니었네..^-^

 

늘 헷갈린다

 

 

인지 씨 말대로 고치면 끝!

 

#include <bits/stdc++.h>
using namespace std;

int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    int n;
    cin >> n;

    while (n--)
    {
        string ans;
        cin >> ans;

        bool isTrue = true;

        stack<char> s;
        for (char c : ans)
        {
            if (c == '(')
                s.push(c);
            else if (!s.empty() && c == ')')
                s.pop();
            else if (s.empty() && c == ')'){
                isTrue = false;
                break;
            }
        }

        if (!isTrue)
            cout << "NO" << "\n";
        else if (s.empty())
            cout << "YES" << "\n";
        else
            cout << "NO" << "\n";
    }
}

 

 


 

이렇게 푸는 게 맞나 싶은데

다행히도 맞았다.

 

자꾸 함수를 만들어서 풀어보라는데

나는 아직 어색해서 못 풀겠다..

 

함수 return도 어렵고

bool도 어렵고

다 어렵다.

 

하나씩 해나가는 내가 되고 싶다.