[ 프로그래머스 ] 올바른 괄호 (Python)
Updated:
기본 정보
문제
- 괄호로만 이뤄진 문자열 S
- 올바른 괄호쌍으로만 이뤄졌으면 true, 아니면 false
알고리즘
- stack
- 괄호 원소를 저장하는 리스트
- S내 원소를 순회하며
- 비어있으면 넣기
- 여는 괄호인 경우 넣기
- 닫는 괄호 ’)’가 나올시, top의 원소가 여는 괄호 ‘(’인지 확인하기 → 그 여는 괄호 pop
- 순회 후 리스트가 비게되면 true
나의 시도
def solution(s):
parenthesis = []
for elem in s:
if parenthesis:
if elem == '(':
parenthesis.append(elem)
else:
if parenthesis[-1] == '(':
parenthesis.pop()
else:
parenthesis.append(elem)
else:
parenthesis.append(elem)
return not parenthesis