(
와 )
만으로 이루어진 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