본문 바로가기

백준

[백준] 4949 - 균형잡힌 세상

반응형

1. 문제

 

2. 코드

l = []

while 1:
    a = input()
    
    if a == '.':
        break
    fault_flag = 0
    l = []
    
    for i in range(len(a)):
        if a[i] == '(' or a[i] == '[':
            l.append(a[i])
        elif a[i] == ')':
            if len(l) == 0:
                fault_flag = 1
                break
            temp = l.pop()
            if temp != '(':
                fault_flag = 1
                break
        elif a[i] == ']':
            if len(l) == 0:
                fault_flag = 1
                break
            temp = l.pop()
            if temp != '[':
                fault_flag = 1
                break
                
    if fault_flag == 0 and len(l) == 0:
        print('yes')
    else:
        print('no')

 

3. 풀이

1) '('나 '['면 list에 push

2) ')'이면

--> list가 비어있으면 종료 (틀렸음)

--> list가 비어있지 않고 pop했는데 '(' 아니면 종료 (틀렸음)

3) ']'이면

--> list가 비어있으면 종료 (틀렸음)

--> list가 비어있지 않고 pop했는데 '[' 아니면 종료 (틀렸음)

728x90
반응형