백준 #4949 균형잡힌 세상(python)

2022. 1. 27. 00:53백준 문제풀이

반응형

 

백준 4949 '균형잡힌 세상' 문제이다.

 

보통 이 문제를 풀기 전에 '괄호' 문제를 접해 봤을 것이다.(실버 문제)

 

그렇다면 이 문제를 스택의 특성을 통해서 아주 쉽게 구현할 수 있다.

 

그냥 괄호인 것만 받아서 짝이 맞으면 pop, 아니면 추가해서

마지막에 스택이 비어 있다면 전부 짝이 맞는 것이고, 아니면 짝이 맞지 않는 것이다.

 

아주 간단하다.

 

 

다음은 파이썬으로 작성된 코드이다.

while 1:
    line = input()
    if line == '.':
        break
    st = []
    for i in line:
        if i == '(' or i == ')' or i == '[' or i == ']':
            if len(st) == 0:
                st.append(i)
            elif st[-1] == '(' and i == ')':
                st.pop()
            elif st[-1] == '[' and i == ']':
                st.pop()
            else:
                st.append(i)
    if len(st) == 0:
        print("yes")
    else:
        print("no")

 

 

반응형

'백준 문제풀이' 카테고리의 다른 글

백준 #2108 통계학(파이썬)  (0) 2022.03.11
백준 #3474 교수가 된 현우(Python)  (0) 2022.01.25
백준 #10709 기상캐스터  (0) 2022.01.20
백준 #2807 수학숙제  (0) 2022.01.18
백준 #4659 비밀번호 발음하기  (0) 2022.01.17