[백준] 균형잡힌 세상
유의할점
전형적인 스택유형
균형이 안잡히는 경우
(가 많은 경우 → 처음에 검증
)가 많은 경우 → 나중에 검증
풀이
괄호 아닌 문자는 무시. 전형적인 스택유형으로 푼다.
코드
C++
#include <iostream>
#include <stack>
#include <string>
using namespace std;
//'('
//'['
int main() {
stack<char> st;
while (1) {
string s;
getline(cin, s);
if (s == ".")
return 0;
bool flag = true;
for (int i = 0; i < s.size(); i++) {
if (s[i] == '(' || s[i] == '[')
st.push(s[i]);
else if (s[i] == ')' || s[i] == ']') {
if (!st.empty() && (st.top() == s[i] - 1 || st.top() == s[i] - 2))
st.pop();
else {
flag = false;
break;
}
}
}
if (!st.empty() && !(flag = false))
while (!st.empty())
st.pop();
flag ? cout << "yes" : cout << "no";
cout << "\n";
}
}
Author And Source
이 문제에 관하여([백준] 균형잡힌 세상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@6047198844/백준-균형잡힌-세상저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)