코딩테스트/Python
[python] 프로그래머스 스택/큐 level2 - 올바른 괄호
go.od_planter
2024. 9. 23. 20:53
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드.
def solution(s):
cnt = 0
for i in s:
if cnt < 0:
return False
if i == '(':
cnt += 1
else:
cnt -= 1
if cnt != 0:
return False
return True
다른 풀이.
def solution(s):
stack = []
for char in s:
if char == '(':
stack.append(char) # 여는 괄호는 스택에 추가
else:
if not stack: # 닫는 괄호가 나왔는데 스택이 비어 있으면 짝이 맞지 않음
return False
stack.pop() # 닫는 괄호가 맞는 경우, 스택에서 제거
return len(stack) == 0 # 스택이 비어 있어야 올바른 괄호열
728x90
반응형