[백준 4949] 균형잡힌 세상

코뉴·2021년 8월 16일
0

백준🍳

목록 보기
58/149
post-custom-banner

https://www.acmicpc.net/problem/4949

🥚문제


🥚입력/출력


🍳코드

while True:
    string = input()

    # 중단
    if string == ".":
        break

    # 스택
    stack = []

    # YES 플래그
    YES = True

    # 문자열 순회
    for c in string:
        if c == "(" or c == "[":
            stack.append(c)

        if c == ")":
            # 비어 있음 or 매칭되지 않음
            if len(stack) == 0 or stack[-1] != "(":
                YES = False
                break

            # 매칭되는 괄호를 만남
            if stack[-1] == "(":
                stack.pop()

        elif c == "]":
            # 비어 있음 or 매칭되지 않음
            if len(stack) == 0 or stack[-1] != "[":
                YES = False
                break

            # 매칭되는 괄호를 만남
            if stack[-1] == "[":
                stack.pop()

    # 문자열 순회가 끝났을 때
    # YES 플래그가 True이고, stack이 비어있을 때 yes
    if YES and len(stack) == 0:
        print("yes")
    else:
        print("no")

🧂아이디어

profile
코뉴의 도딩기록
post-custom-banner

0개의 댓글