균형 잡힌 세계(30)

공유 소스 보기(acmicpc.net)

공유 소스 보기

www.acmicpc.net

아, 짜증나. . . 10분 만에 풀었는데 컴파일 할 때 자꾸 안 된다고 하셔서 부담이 컸어요. . . 문제를 찾는 데 40분. 먼저 제가 쓴 답변을 보겠습니다.

#include<bits/stdc++.h>
using namespace std;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	while(true){
		string s;
		getline(cin, s);
		stack<char> stk;
		bool check = true;
		if(s==".") break;
		for(int i = 0; i < s.size(); i++){
			if(s(i) == '(' || s(i) == '(')
				stk.push(s(i));
			if(s(i) == ')'){
				if(!
stk.empty()){ if(stk.top()=='(') stk.pop(); else { check = false; break; } } else { check = false; break; } } if(s(i) == ')'){ if(!
stk.empty()){ if(stk.top() == '(') stk.pop(); else { check = false; break; } } else { check = false; break; } } } if(!
stk.empty()) check = false; if(check == true) cout << "yes\n"; else if(check == false) cout << "no\n"; } return 0; }

그럼 이전에는 왜 틀렸을까? 마지막으로 for 문을 빠져나온 후 스택이 비어있는지 판단하는 if(!
stk.empty()) 코드를 for 문에 넣으면 자꾸 실수를 하게 되는데… 하!
!
!
!
!
!
짜증난


문제 문제