-
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
<문제>
스택을 사용하면 조금 더 직관적으로 구현이 가능합니다.
다만 스택을 사용할때 사용하는 것은 스택의 size() 뿐이므로
'('와 ')'가 입력된 횟수를 저장할 변수만으로도 올바른 괄호인지를 판별할 수 있습니다.
x : '('가 등장한 횟수
y : ')'가 등장한 횟수
위처럼 구성할때, x<y인 순간이 한번이라도 존재하면 올바르지 않은 괄호 문자열이 됩니다.
<소스코드>
123456789101112131415161718192021222324#include <stdio.h>#include <string.h>int main(void) {int i, j, t, x, y, key;char a[51] = {0};scanf("%d", &t);for (i = 0; i < t; i++) {scanf("%s", a);x = y = key = 0;for (j = 0; a[j]; j++) {if (a[j] == '(') x++;if (a[j] == ')') y++;if (x < y) {key = 1;break;}}if (x == y && key == 0)printf("YES\n");elseprintf("NO\n");}return 0;}cs 'BOJ' 카테고리의 다른 글
[9019] DSLR (0) 2021.10.02 [1697] 숨바꼭질 (0) 2021.10.01 [4344] 평균은 넘겠지 (0) 2021.10.01 [2609] 최대공약수와 최소공배수 (0) 2021.10.01 [1789] 수들의 합 (0) 2021.10.01