티스토리 뷰

알고리즘/SWEA

[SWEA] 4866. 괄호검사

빙빙 2021. 2. 23. 15:08
T = int(input())
for tc in range(1, T+1):
    arr = input()
    N =len(arr)
    stack1 = []
    result = 1
    left = 0
    right = 0
    #왼쪽괄호들을 다 스택에 저장하고 오른쪽 괄호를 만난다면 pop해서 비교
    for i in range(N):
        if arr[i] == '(' or arr[i] == '{':
            stack1.append(arr[i])
            left += 1
        if arr[i] == ')':
            right += 1
            if len(stack1) > 0 and stack1.pop() != '(':
                result = 0
                break
        elif arr[i] == '}':
            right += 1
            if len(stack1) > 0 and stack1.pop() != '{':
                result = 0
                break
    if len(stack1) != 0: #스택에 비워지지 않았다면 왼쪽 괄호가 더 많은 것이므로 0
        result = 0

    if left != right:
        result = 0
    
    print("#{} {}".format(tc,result ))




'알고리즘 > SWEA' 카테고리의 다른 글

[SWEA] 3499. 퍼펙트셔플  (0) 2021.02.23
[SWEA] 4872.반복문자 지우기  (0) 2021.02.23
[SWEA] 1218. 괄호 짝짓기  (0) 2021.02.23
[SWEA] 2005. 파스칼의 삼각형  (0) 2021.02.23
[SWEA] 1289. 원재의메모리복구  (0) 2021.02.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함