반응형
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
for i in range(int(input())):
result = 0
for j in input():
if j == '(':
result += 1
else: # j = ')'일때
result -= 1
if result < 0:# 결과가 음수로 되는 순간 끝
break
if result == 0:
print("YES")
else:
print("NO")
처음 코드를 짜다가, 사실 stack을 만들어 append, pop() 하는 알고리즘을 짜려 했는데,
오래오래 보다 보니 필요하지 않을 것 같아 논리적으로 count를 하여 코드를 짜보았다.
방법은 이러하다.
1. 처음에 ')' 가 나오면 무조건 NO
2. 처음에 '(' 가 나오면 result += 1을 해준다. 그 후 ')' 나오면 상쇄 시켜 result -= 1을 해준다.
3. 총 result = 0 이면 YES이고, result 가 음수가 될 시 바로 종료하여 NO를 출력한다.
반응형
'BOJ > Python' 카테고리의 다른 글
백준 10809번 알파벳 찾기 파이썬 (0) | 2022.01.29 |
---|---|
백준 3036번 링 파이썬 (0) | 2022.01.17 |
백준 23813번 회전 파이썬 (0) | 2022.01.15 |
백준 1920번 수 찾기 파이썬 (2) | 2022.01.14 |
백준 18406번 럭키 스트레이트 파이썬 (0) | 2022.01.12 |