베지밀
[Python] 프로그래머스 올바른 괄호 (스택/큐) 본문
스택을 이용한 문제
'('면 push하고 ')'하면 pop하는 원리를 이용했다.
첫 시도에는 Stack이라는 클래스를 생성해서 만드려고 했는데,
클래스 정의하는 걸 안해봐서 자꾸 다른 답이 나왔다 😂
결국 리스트로 스택 구현해서 class 없이 풀었다.
1. '('면 리스트에 append
2. ')'면 리스트에서 마지막 값 pop
3. pop할 땐 스택의 길이 검사 (len==0?)
4. for문으로 문자열 다 돌고 나서 남은 스택 길이 검사 (len!=0)
풀이 코드
def solution(s):
stack = []
for i in s:
if i == "(":
stack.append(i)
else:
if len(stack) == 0:
return False
else:
stack.pop()
if len(stack) != 0:
return False
return True