Algorithm/프로그래머스

스택/큐 - 올바른 괄호 (프로그래머스)

jun_code 2025. 1. 18. 15:41

<문제>

https://school.programmers.co.kr/learn/courses/30/lessons/12909

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

<코드>

from collections import deque

def solution(s):
    if s[0] == ')':
        return False
    else:
        par_list = deque()
        for i in s:
            if i == '(':
                par_list.append(i)
            else:
                if len(par_list) == 0:
                    return False
                else: par_list.pop()
        if len(par_list) == 0:
            return True
        else: return False

 

<풀이>

  • '(' 괄호 이후에 ')'가 와야하고 가장 뒤에 들어온 '('와 ')'를 매핑해서 제거해나가도록 구성
  • LIFO인 스택 구조를 이용