728x90
def solution(s):
if s[0] == ")":
return False
stack = []
for c in s:
if not stack:
if c == ")":
return False
else:
stack.append(c)
elif stack[-1] == "(" and c == ")":
stack.pop()
else:
stack.append(c)
return len(stack) ==0
stack이 비어있을 경우 다음 입력값이 close일 경우 False로 리턴 하는 조건을 추가해줬다
괄호 종류가 하나라서 그냥 mapping을 만들지 않고 진행했다.
728x90
'DC 2' 카테고리의 다른 글
[자료구조] 배상 비용 최소화 파이썬 (heap) (0) | 2021.04.22 |
---|---|
[자료구조] 스킬트리 파이썬 (0) | 2021.04.22 |
[자료구조] 세 소수의 합 파이썬 (prime number) (0) | 2021.04.22 |
[자료구조] 대중소 괄호 짝 맞추기 파이썬 (stack, valid parentheses) (0) | 2021.04.22 |
[자료구조] 좌석구매 파이썬 (hashable VS. unhashable) (0) | 2021.04.22 |
댓글