728x90
반응형
구현 언어: 파이썬
import sys
input = sys.stdin.readline
n = int(input())
for i in range(n):
VPS_input = list(input().strip())
checker = 0
for i in range(len(VPS_input)):
if VPS_input[i] == '(':
checker += 1
if VPS_input[i] == ')':
if checker >= 1:
checker -= 1
else:
print('NO')
break
if i == len(VPS_input) - 1:
if checker == 0:
print('YES')
else:
print('NO')
시도 횟수: 1
구현 포인트:
여는 괄호가 나올 때마다 체커를 하나 증가하고, 닫는 괄호가 나올 때마다 체커를 하나 감소시켜서 최종적으로 0이 되면 VPS가 맞다고 판단하는 알고리즘이다. 중간에 체커가 0인 상태에서 닫는 괄호가 나올 경우에는 열린 괄호가 없는데 닫는 괄호가 나왔다는 의미이므로 바로 VPS가 아니라고 판단한다.
기본적으로는 스택의 개념이지만 물리적인 스택 없이 구현하였다.
728x90
반응형
'Archive > BOJ' 카테고리의 다른 글
백준 11723번: 집합 (0) | 2021.02.14 |
---|---|
백준 10816번: 숫자 카드 2 (0) | 2021.02.14 |
백준 10866번: 덱 (0) | 2021.02.14 |
백준 10845번: 큐 (0) | 2021.02.14 |
백준 10828번: 스택 (0) | 2021.02.14 |