백준 문제풀이
백준 #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")
반응형