백준
백준 소스코드 [C++] 4949 균형잡힌 세상
Hani_Levenshtein
2020. 8. 27. 19:27
https://www.acmicpc.net/problem/4949
4949번: 균형잡힌 세상
하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마��
www.acmicpc.net
백준 소스코드 [C++] 4949 균형잡힌 세상
#include <iostream>
#include <stack>
#include<string>
using namespace std;
int main() {
string m;
stack<char> st;
while(true){
getline(cin, m);
if (m.compare(".") == 0)break;
for (int j = 0;j < (int)m.length();j++) {
if (m[j] == '(' || m[j] == '[' )
st.push(m[j]);
else if (m[j] == ')'|| m[j] == ']') {
if (st.empty()) {
st.push(m[j]);
break;
}
else if (
(st.top() == '(' && m[j] == ')') ||
(st.top() == '[' && m[j] == ']')
)
st.pop();
else break;
}
}
if (st.empty()) cout << "yes" << '\n';
else {
cout << "no" << '\n';
while (!st.empty()) st.pop();
}
}
return 0;
}