728x90
반응형
https://www.acmicpc.net/problem/9012
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
code
#괄호
import sys
input = sys.stdin.readline
t = int(input())
for i in range(t):
a = input()
a = a.strip('\n')
xcount = 0
ycount = 0
for i in a:
if i == '(':
xcount += 1
elif i == ')':
ycount += 1
if xcount < ycount:
print("NO")
break
if xcount == ycount:
print("YES")
elif xcount > ycount:
print("NO")
이번문제는 vps가 되는 기준을 하나하나 차근차근 조건을 통해 해결해 나가면된다.
입력받은 문자열을 하나씩 탐색하면서 (가 나오면 xcount를 1올리고
)가 나오면 ycount를 올렸다.
만약 진행중에 ycount가 더 높으면 아무리 (가 뒤에 나와도 vps가 될 수 없음으로 no출력후 for문을 탈출한다.
조건들을 다 거친뒤 xcount와 ycount가 같다면 (와 )의 짝이 알맞음으로 yes를 출력하면 된다.
이문제를 풀면서 처음엔 되게 여러 조건을 생각해 조금 긴 코드가 나왔지만,
막상 중복되는 코드를 줄일 수 있었다.
728x90
반응형
'알고리즘 > 백준[baekjoon]' 카테고리의 다른 글
[baekjoon] 10828번 : 스택 (by python 파이썬) (0) | 2022.03.24 |
---|---|
[baekjoon] 백준 10816번 : 숫자카드2 (by python 파이썬) (0) | 2022.03.22 |
[baekjoon] 2609번 : 최대 공약수 최소 공약수 (0) | 2022.03.14 |
[baekjoon] 11050번 : 이항 계수 by python (0) | 2022.03.14 |
[baekjoon] 1920 : 수 찾기 by python (0) | 2022.03.14 |