코딩하기 좋은날
백준 9012 괄호 본문
반응형
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 |