반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

백준 9012 괄호 본문

백준(Baekjoon) 문제

백준 9012 괄호

huiung 2019. 1. 12. 23:39
반응형

https://www.acmicpc.net/problem/9012

문제와 채점은 위 사이트에서 확인 하실 수 있습니다.

 

 

이 문제는 n1,n2를 '(' ')' 의 개수를 저장하는 변수로 지정하여 VPS가 되기 위해서 n2는 n1보다 항상 작거나 같아야하고 

마지막엔 n1과 n2의 개수가 같아야 한다 라는 조건을 이용하여 풀었다.

 

스택을 이용해서 '(' 들어오면 push를 하고 ')' 가 들어오면 pop을 하고 pop을 할 수 없으면 NO 연산이 끝난후 

stack이 비어있으면 YES를 출력하는 형식으로 풀어도 괜찮을 것 같다.

 

#include <iostream>

using namespace std;

int main(void) {
	int T;
	cin>>T;
	
	while(T) {
		int n1 = 1;
		int n2 = 0;
		bool flag = true;
		int i = 0; 
		
		char data[51];
		cin>>data;
		
		while(data[i]!='\0') { 
			if(n1==n2) {
				flag = false;
				break;
			}
			else if(data[i] == '(')
				n1++;
			else 
				n2++;
			i++;	
		}
		
		if(flag && n1-1==n2)
			cout<<"YES"<<endl;
		else
			cout<<"NO"<<endl;
		T--;
	}
	return 0;
}
반응형

'백준(Baekjoon) 문제' 카테고리의 다른 글

백준 7785 회사에 있는 사람  (0) 2019.01.13
백준 1620 나는야 포켓몬 마스터 이다솜  (0) 2019.01.13
백준 1966 프린터 큐  (0) 2019.01.13
백준 1918 후위표기식  (1) 2019.01.13
백준 10828 스택  (0) 2019.01.12