알고리즘/프로그래머스

[알고리즘 고득점 kit/스택, 큐] 올바른 괄호

_jju 2026. 4. 29. 17:44

이건 백준에서 풀었던 문제!

누가봐도 스택을 사용하는 문제다. 아까 풀었던 문제처럼 또 deque를 이용해서 풀어보자.

from collections import deque

stack = deque()

def solution(s):
    ln = len(s)
    for i in range(ln):
        if s[i] == '(':
            stack.append(1)
        else:
            if stack:
                stack.pop()
            elif i ==0:
                return False
    if stack:
        return False
    return True

( 가 나타나면 스택에 값을 넣어주고 )가 나타나면 스택에서 빼주면 되는 문제다.

다만 elif 부분을 보면 알 수 있듯이 첫번째로 )가 나오면 무조건 틀린 것이기에 원래 코드에서 예외처리 해줘야 한다.