Algorithm/프로그래머스

[Python] 프로그래머스 Lv2 - 올바른 괄호

떵호 2022. 6. 14. 23:07
728x90

🔗 문제링크

 

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

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

programmers.co.kr

📂 분류

스택

💡 풀이

스택의 대표적인 문제이다.

 

접근 방식

  • '(' 일 경우 stack에 저장한다.
  • ')' 일 경우 stack이 비어있는지 확인하고 비어있다면 False 리턴한다.
  • 비어있지 않다면 pop 시킨다.
  • 올바른 괄호일 경우 stack의 사이즈는 0이기 때문에 0이라면 True, 0이 아니라면 False를 반환한다.

💻 코드

def solution(s):
    stack = []

    for i in range(len(s)):
        if s[i] == '(':
            stack.append('(')
        else:
            if len(stack) == 0:
                return False
            else:
                stack.pop()

    return len(stack) == 0

728x90