[Baekjoon] 4889 안정적인 문자열 python

sorzzzzy·2021년 8월 4일
0

Baekjoon Algorithm

목록 보기
14/46
post-thumbnail

🏷 문제


💡 코드

num = 1
while True:
    s = input()
    # "{" 를 저장하는 스택
    stack = []
    res = 0
    if '-' in s:
        break
    for i in s:
        if i == "{":
            stack.append(i)
        else:
            # 스택이 비어있지 않다면
            if stack:
                # '}'과 짝을 맞춰줘야 하므로 기존의 '{' 을 저장하는 스택에서 하나를 pop
                stack.pop()
            # 스택이 비어있다면 
            else:
                res += 1
                stack.append("{")
    if stack:
        '''
        기존 '{'만을 저장하는 스택
        그 쌍 중 하나만 괄호 방향을 바꿔주면 됨
        '''
        if len(stack) % 2 == 0:    
            res += len(stack)//2
    print(f"{num}. {res}")
    num += 1

🔑

profile
Backend Developer

0개의 댓글