https://www.acmicpc.net/problem/4949
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include <iostream> #include <stack> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); while(1){ string s; stack<char> st; bool chk = true; //yes or no getline(cin, s); if(s[0] == '.') break; int len = s.length(); for(int i = 0; i < len; i++){ if(s[i] == '(' || s[i] == '[') st.push(s[i]); else if(s[i] == ')'){ if(st.empty() || st.top() == '['){ chk = false; break; } else st.pop(); } else if(s[i] == ']'){ if(st.empty() || st.top() == '('){ chk = false; break; } else st.pop(); } } if(chk && st.empty()) cout << "yes" << endl; else cout << "no" << endl; } } | cs |
반응형
'프로그래밍 > 문제풀이' 카테고리의 다른 글
[dp] 백준 9461 파도반 수열 (0) | 2018.12.11 |
---|---|
[etc] 백준 2164 카드2 (0) | 2018.12.11 |
[etc] 백준 1085 직사각형에서 탈출 (0) | 2018.12.11 |
[etc] 백준 1436 영화감독 숌 (0) | 2018.12.10 |
[etc] 백준 10809 알파벳 찾기 (0) | 2018.12.10 |