알고리즘

[SWEA] 1218. 괄호 짝짓기

담쏙 2021. 9. 16. 19:38
728x90

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

처음에는 if-else의 지옥같은 코드를 짰는데... 다른 스터디원의 아이디어로 획기적으로 깔끔한 코드를 짤 수 있었다.

자료구조를 적재적소에 활용하는 감각을 제대로 익히고 싶다.

아무튼 괄호 짝은 if-else 말고 딕셔너리로 깔끔하게 짤 수 있다는 사실을 알게 되었다.

from collections import deque
exp = {'[':']', '{':'}', '(':')', '<':'>'}
for tc in range(1, 11):
    answer = 1
    _ = int(input())
    q = deque()
    gwal = input()
    for g in gwal:
        if g in exp.keys():
            q.append(g)
        else :
            if exp[q[-1]] == g :
                q.pop()
            else:
                answer = 0
                break

    print('#{} {}'.format(tc, answer))