[백준] 4949번: 균형잡힌 세상

박정훈·2022년 2월 3일
0

코테 문제 모음

목록 보기
7/34

백준 4949번

세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.

정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.

문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.

arr = []
while(1):
    str = input().rstrip()
    if(str == '.'): break
    for i in range(len(str)):
        if(len(arr) == 0):
            if(str[i] == ')' or str[i] == ']'):
                arr.append(str[i])
                break
        if(str[i] == '(' or str[i] == '['):
            arr.append(str[i])
        else:
            if(str[i] == ')'):
                if(arr[-1] == '('): arr.pop()
                else:
                    arr.append(str[i])
                    break
            elif(str[i] == ']'):
                if(arr[-1] == '['): arr.pop()
                else:
                    arr.append(str[i])
                    break    
    print('no' if len(arr) > 0 else 'yes')
    arr =[]

괄호 짝 맞추기 문제였다. 문자열이 균형을 이뤄야 한다길래 조금 헷갈렸던 문제. 고려 할 필요가 없었다.

profile
그냥 개인적으로 공부한 글들에 불과

0개의 댓글