stack을 이용해서 push, pop을 처음 구현했는데 자꾸 runtime 에러가 나고 돌아가지 않길래,
결국은 그냥 +1, -1을 이용한 카운팅으로 했다.
내가 짠 코드
#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main(void){
int N,i,j,value;
string input;
scanf("%d\n",&N);
for(i=0;i<N;i++){
value=0;
getline(cin,input);
for(j=0;j<input.length();j++) {
if(input[j]=='(') value ++;
else value--;
if(value <0){
value = 1;
break;
}
}
if(value==0) printf("YES\n");
else printf("NO\n");
}
}
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
'Problem Solving > 백준' 카테고리의 다른 글
[백준] 1966: 프린터큐 (0) | 2021.02.26 |
---|---|
[백준] 1406번: 에디터 (0) | 2021.02.24 |
[백준] 10816: 숫자 카드 2 (0) | 2021.02.24 |
[백준] 11651번 : 좌표 정렬하기 2 (0) | 2021.02.24 |
[백준] 1009: 분산처리 (0) | 2021.02.19 |