게으른카르

백준 4949 균형잡힌 세상.

백준 4949번 "균형잡힌 세상" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.

4949번 문제에 주어지는 입력 및 예시

입력: 

So when I die (the [first] I will see in (heaven) is a score list).
[ first in ] ( first out ).
Half Moon tonight (At least it is better than no Moon at all].
A rope may form )( a trail in a maze.
Help( I[m being held prisoner in a fortune cookie factory)].
([ (([( [ ] ) ( ) (( ))] )) ]).
 .
.

출력:

yes
yes
no
no
no
yes
yes

코드

백준 4949번 "균형잡힌 세상" 문제의 코드입니다.

#include<bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	string s;
	bool flag;
	while(true){
		stack<char> a;
		getline(cin,s);
		if(s[0]=='.') break;
		flag=1;
		for(auto v:s){
			if(v=='('||v=='[') a.push(v);	
			if(v==')'){
				if(a.empty()||a.top()!='('){
					flag=0; break;
				}
				a.pop();
			}
			else if(v==']'){
				if(a.empty()||a.top()!='['){
					flag=0; break;
				}
				a.pop();
			}
		}
		if(a.empty()&&flag) cout<<"yes\n";
		else cout<<"no\n";
	}
	return 0;
}

실행

위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.

 

반응형

'C' 카테고리의 다른 글

백준 2636 치즈 C++  (1) 2023.04.29
백준 14502 연구소 C++  (0) 2023.04.29
백준 9012 괄호 C++  (0) 2023.04.18
백준 2776 암기왕 C++  (0) 2023.04.17
백준 10773 제로 C++  (0) 2023.04.17

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band