Algorithm/프로그래머스

[프로그래머스] 올바른 괄호 (python)

hammii 2021. 10. 8. 19:03
728x90
반응형
 

코딩테스트 연습 - 올바른 괄호

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은

programmers.co.kr

 

👩🏻‍💻 코드

def solution(s):
    stack = []
    
    for c in s:
        if c==')':
            if len(stack)==0:
                return False
            top = stack.pop()
            if top != '(':
                return False
            
        elif c == '(':
            stack.append(c)
            
    if len(stack) > 0:
        return False
    return True

 

📝 정리

  • 여는 괄호'(' 일 경우, stack에 추가해준다.
  • 닫는 괄호 ')' 일 경우, stack의 top과 비교해주고 짝이 맞지 않으면 False를 리턴한다.
  • 마지막에 stack이 남아 있다면, False를 리턴한다.

 

 

 

 

728x90
반응형