logweft.

PY-L3-011 / 스택과 큐

괄호 균형 검사

중급

문제

괄호 ()[]{}만 있는 text가 올바르게 중첩되었는지 불리언으로 반환하세요. 빈 문자열은 올바릅니다.

solve(*args) 함수에서 값을 반환하세요. print 출력은 정답 판정에 사용하지 않습니다.

입출력 예시

예제 1
입력: ["([]){}"]
반환: true
예제 2
입력: ["([)]"]
반환: false
힌트

여는 괄호를 스택에 넣고 닫는 괄호와 비교하세요.

해설·정답 보기

닫는 괄호는 가장 최근 여는 괄호와 대응해야 합니다. 순회 뒤 남은 스택도 확인합니다.

def solve(text):
    stack = []
    pairs = {')':'(', ']':'[', '}':'{'}
    for ch in text:
        if ch in '([{':
            stack.append(ch)
        elif not stack or stack.pop() != pairs[ch]:
            return False
    return not stack
모르는 문법은 코드 사전에서 ↗
solution.py결과 비교

코드는 이 브라우저에 자동 저장돼요.

풀이 결과

코드를 작성하고 채점하기를 눌러보세요.

    학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.

    어떤 기록을 찾으세요?

    키워드를 입력하면 기록을 찾아드려요.