반응형
문제
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
코드
import sys
input = sys.stdin.readline
n = int(input())
for _ in range(n):
text = list(input())
sum = 0
for i in text:
if i == '(':
sum += 1
elif i == ')':
sum -= 1
if sum < 0:
print('NO')
break
if sum > 0:
print('NO')
elif sum == 0:
print('YES')
설명
괄호의 완성 조건을 생각해서 따지면 되는 문제이다.
우선 '(' 일 경우 sum 함수에 1을 더해주고,
')'일 경우 sum 함수에서 1을 빼준다.
만약 이 과정에서 sum이 0 미만으로 내려가게 됐다면 괄호의 요건을 만족하지 못했으므로,
반복문을 종료하고 NO를 출력한다.
sum이 0미만으로 내려가지 않고 반복문이 종료되었을 때,
0이라면 YES를 출력,
그렇지 않다면 괄호가 완벽하지 않으므로 NO를 출력해 준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1874: 스택 수열 (0) | 2023.03.09 |
---|---|
[파이썬, Python] 백준 4949: 균형잡힌 세상 (0) | 2023.03.08 |
[파이썬, Python] 백준 10773: 제로 (0) | 2023.03.06 |
[파이썬, Python] 백준 10828: 스택 (0) | 2023.03.03 |
[파이썬, Python] 백준 13305: 주유소 (0) | 2023.03.02 |