Python으로 구현한 9012번 괄호 문제 풀이입니다.
https://www.acmicpc.net/problem/9012
t = int(input())
for _ in range(t) :
data = list(input())
open = 0
for d in data :
if d == '(' :
open += 1
else :
open -= 1
if open < 0 :
print("NO")
break
else :
if open > 0 :
print("NO")
else :
print("YES")
1. 입력받은 문자열을 리스트 형태로 저장하고 데이터를 하나씩 꺼내 확인한다.
2. 만약 그 값(d)이 '(' 일 경우 open 값을 1 증가시킨다.
3. 만약 그 값(d)이 ')'일 경우 open 값을 1 감소시키고, open 값이 음수가 되면 "NO"를 출력한 후 break 한다.
4. 반복문이 break 되지 않았다면 open 값을 확인하여 그 값이 0보다 클 경우 올바른 괄호를 이룰 수 없으므로 "NO"를 출력한다.
open 값이 0이라면 올바른 괄호를 만들 수 있으므로 "YES"를 출력한다.
'백준(Python) 풀이 > 자료 구조' 카테고리의 다른 글
백준(Python) 1158번 요세푸스 문제 풀이 (0) | 2022.07.06 |
---|---|
백준(Python) 1874번 스택 수열 풀이 (0) | 2022.07.06 |
백준(Python) 1406번 에디터 풀이 (0) | 2022.07.05 |
백준(Python) 10866번 덱 풀이 (0) | 2022.07.04 |
백준(Python) 10845번 큐 풀이 (0) | 2022.07.04 |