문제
풀이 과정
- 스택 사용하기
s
의 원소를 하나씩 꺼내서 비교한다.
i == (
라면 stack
에 삽입
i == )
라면
stack
이 비어있다면 return False
stack
이 비어있지않다면 stack
안에 있는 열린 괄호랑 짝지어지면서 pop
한다.
시행 착오
- 시간 초과 -> 문자열을 직접 건드리지 말자.. stack을 사용하라
def solution(s):
if s[0] == ')':
return False
stack = []
for i in s:
if i == '(':
stack.append(i)
else:
if i == ')':
stack.pop()
else:
stack.append(i)
return True if not stack else False
풀이
def solution(s):
stack = []
for i in s:
if i == '(':
stack.append(i)
else:
if stack == [] :
return False
else:
stack.pop()
return True if not stack else False