백준 #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 |