
(와 )만으로 이루어진 s가 주어졌을 때, 위 그림처럼 잘못된 경우는 False, 문제가 없는 경우는 True를 리턴하도록 하는 문제다.
백준에서 한번 봤었던 문제라 처음 작성한 코드로 바로 맞췄다.
stack배열을 하나 선언하고,s를 하나씩 보면서(일 때는(를 집어넣고)일 떄는 넣었던(를 빼는 식으로 수행한다.
- 만약
(를 넣지 않았는데)가 나온다면 에러가 발생할 것인데, 이는try ~ catch를 이용해 예외처리 해주었다.
def solution(s):
answer = False
stack = []
for i in range(len(s)):
if s[i] == "(":
stack.append("(")
else:
try:
stack.pop()
except:
answer = False
return answer
if len(stack) == 0:
answer = True
return answer