문제
https://www.acmicpc.net/problem/9012
풀이
프로그래머스에서도 비슷한걸 풀었던 기억이 난다.
그때는 정수 값 +,- 로 구현 했던거 같은데…
이번에는 스택을 이용해보았다.
lines = int(input())
commands = []
for _ in range(lines):
commands.append(input())
for command in commands:
stack = []
for c in command:
# 스택에 비어있다면 일단 삽입
if len(stack) == 0: stack.append(c)
# 스택 가장 상단이 '(', 입력 받은게 ')'라면 스택에서 '(' 제거
elif stack[-1] == '(' and c == ')':
stack.pop()
# 그 외엔 일단 삽입
else: stack.append(c)
# 스택에 남은게 없다면 VFS
if stack: print("NO")
else: print("YES")
댓글남기기