본문 바로가기

PS/BOJ

[C++] BOJ (백준) 9012 : 괄호

문제

9012번: 괄호 (acmicpc.net)

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

코드
#include <iostream>
#include <stack>

using namespace std;

bool isBalanced(const string &s) {
  stack<char> st;
  for (char c: s) {
    if (c == '(') st.emplace('(');
    else if (c == ')') {
      if (st.empty()) return false;
      st.pop();
    }
  }
  return st.empty();
}

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);

  int t;
  cin >> t;
  while (t--) {
    string s;
    cin >> s;
    cout << ((isBalanced(s)) ? "YES" : "NO") << '\n';
  }
  return 0;
}

 

설명

[C++] BOJ (백준) 4949 : 균형잡힌 세상 (tistory.com) 과 사실상 같은 문제이다.
여는 괄호를 만나면 스택에 넣고, 닫는 괄호를 만나면 여는 괄호가 스택에 있는지 확인한다.

'PS > BOJ' 카테고리의 다른 글

[C++] BOJ (백준) 10773 : 제로  (0) 2023.03.05
[C++] BOJ (백준) 10250 : ACM 호텔  (0) 2023.03.05
[C++] BOJ (백준) 7568 : 덩치  (0) 2023.03.01
[C++] BOJ (백준) 4949 : 균형잡힌 세상  (0) 2023.03.01
[C++] BOJ (백준) 4153 : 직각삼각형  (0) 2023.03.01