공부 자료/알고리즘

(Python/파이썬) 백준 9012번 - 괄호

뚜루뚜루세니 2021. 8. 9. 14:24
728x90

문제출처:https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

1. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
= int(input())
arr = []
 
for i in range(n):
    test = input()
    cnt = 0
 
    for ch in test:
        if cnt < 0:
            break
        if ch == '(':
            cnt +=1
        elif ch == ')':
            cnt -=1
 
    if cnt != 0:
        arr.append("NO")
    else:
        arr.append("YES")
 
for answer in arr:
    print(answer)
 
cs

2. 해결과정

test 케이스를 입력받고, cnt=0으로 초기화 시켜준다.

만약에 test안에 ch가 ( 라면 cnt값을 1 증가시키고, ch가 )라면 1을 빼준다. 최종적으로 cnt값이 0이면 괄호가 짝이 맞는 것이기 때무에 yes를 출력해주면 되고, 아니라면 no를 출력해준다.

 

3. 느낀점

스택에 관한 문제라고 되어있었는데, 스택으로 풀지 않았다... 스택으로 푸는 방법에 대해서도 생각해봐야할 것 같다.

정시개 중간고사였나(?) 문제였는데 백준에 있어서 좀 놀램;;;;

728x90