문제 |
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 |