🖥️ CS/Baekjoon Algorithms

#4949번 균형잡힌 세상 (C++)

한국의 메타몽 2020. 11. 10. 14:04

링크 : www.acmicpc.net/problem/4949

 

4949번: 균형잡힌 세상

하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마

www.acmicpc.net

어려운것 없이 직관적으로 풀면 되는 문제다.

#include <iostream>
#include <string>
#include <stack>
using namespace std;

int main() {
	ios::sync_with_stdio(NULL);
	cin.tie(NULL);
	while (true) {
		bool ch = false;
		string ss = "";
		getline(cin, ss);
		if (ss == ".") return 0;
		stack<char> st;
		for (int i = 0; i < ss.size(); i++) {
			if (ss[i] == '(') st.push(ss[i]);
			else if (ss[i] == '[') st.push(ss[i]);
			else if (ss[i] == ')') {
				if (!st.empty() && st.top() == '(') st.pop();
				else {
					ch = true;
					break;
				}
			}
			else if (ss[i] == ']') {
				if (!st.empty() && st.top() == '[') st.pop();
				else {
					ch = true;
					break;
				}
			}
			else continue;
		}
		if (st.empty()&&!ch) cout << "yes" << "\n";
		else cout << "no" << "\n";
	}
	return 0;
}

'🖥️ CS > Baekjoon Algorithms' 카테고리의 다른 글

#2565번 전깃줄 (C++)  (0) 2020.11.17
#1874번 스택 수열 (C++)  (0) 2020.11.13
#1676번 팩토리얼 0의 개수 (C++)  (0) 2020.11.09
#9375번 패션왕 신해빈 (C++)  (0) 2020.11.09
#9012번 괄호 (C++)  (0) 2020.11.05