[BOJ] 9012 괄호
Algorithm 2023. 1. 11. 16:52반응형
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
int n = 6;
string arr[] = {
"(())())",
"(((()())()",
"(()())((()))",
"((()()(()))(((())))()",
"()()()()(()()())()",
"(()((())()("
};
stack<char> stack;
for (int i = 0; i < n; i++) {
string str = arr[i];
string result = "";
//check
for (int j = 0; j < str.length(); j++) {
//cout << str[j] << " ";
if (str[j] == '(') {
stack.push(str[j]);
}
else {
if (stack.empty()) {
result = "NO\n";
break;
}
stack.pop();
}
}
if (result == "") {
if (stack.empty()) {
cout << "YES\n";
}
else {
cout << "NO\n";
}
}
else {
cout << result;
}
//clear stack
while (stack.size()>0) {
stack.pop();
}
}
return 0;
}
//결과 출력
//NO
//NO
//YES
//NO
//YES
//NO
반응형
'Algorithm' 카테고리의 다른 글
[BOJ] C# 10173 니모를 찾아서 (0) | 2023.01.12 |
---|---|
[BOJ] 1181 단어정렬 (0) | 2023.01.12 |
[BOJ] C# 7576 토마토 (0) | 2022.12.28 |
알고리즘 문제 사이트 및 강의 (0) | 2021.07.29 |
링크드 리스트 (0) | 2021.03.19 |