매일 BOJ
(매일 BOJ) C++ 9012번 괄호
norepinephrine
2025. 7. 11. 12:00
이번 문제는 실버 4 난이도의 9012번 괄호 문제이다.

문제의 접근법부터 생각해보자.
문자열에서 ()을 찾아서 발견하면 ()을 문자열에서 삭제하고 다시 ()이 모두 사라질 때까지 탐색한 후 문자열의 크기가 0이라면 YES, 아니라면, NO를 출력하면 되는 문제이다.
아래는 작성한 코드이다.
#include <bits/stdc++.h>
using namespace std;
int main (void){
ios::sync_with_stdio(0); cin.tie(0);
int T;
cin >> T;
for (int i = 0; i < T; i++){
string temp;
cin >> temp;
while (temp.find("()") != string::npos) {
temp.erase(temp.find("()"), 2);
}
if (temp.size() == 0) cout << "YES" << '\n';
else cout << "NO" << '\n';
}
}