- 올바른 괄호
- 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어
- "()()" 또는 "(())()" 는 올바른 괄호입니다.
- ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.
def solution(s):
answer = True
length = len(s)
if length % 2 != 0:
return False
stack = []
for char in s:
if char == "(":
stack.append(char)
elif char == ")":
if not stack:
return False
stack.pop()
return len(stack) == 0
스택을 이용해서 푼다. ( 가 나오면 스택에 넣고, )가 나오면 스택이 비어있는지 확인한다. 비어있으면 False, 비어있지않으면 스택에서 (를 pop한다.
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (0) | 2023.11.17 |
---|---|
[프로그래머스] H-Index 🙁 (0) | 2023.11.17 |
[프로그래머스] 모의고사 (0) | 2023.11.16 |
[프로그래머스] 가장 큰 수 🙁 (0) | 2023.11.14 |
[프로그래머스] K번째수 (0) | 2023.11.14 |