alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 4949 균형잡힌 세상_파이썬 본문
4949 균형잡힌 세상 www.acmicpc.net/problem/4949
문제 풀기 전 공부할 것 : 자료 구조, 문자열, 스택
풀이
<내용>
- while문을 통해 반복해서 입력값을 받고 만약 입력값이 '.'이면 빠져나온다.
- 입력받은 string에서 ()[]을 따로 저장한다.
- 괄호를 확인하는 check 함수를 통해 균형 잡힌 문자열인지 아닌지 판단한다.
<코드>
import sys
input = sys.stdin.readline
def check(vps):
stk = []
pairs = {'(':')', '[':']'}
while vps:
v = vps.pop()
if v == ')' or v == ']':
stk.append(v)
else:
if not stk:
return False
s = stk.pop()
if pairs[v] != s:
return False
if stk:
return False
return True
while True:
string = input().rstrip()
if string == '.':
break
vps = []
for s in string:
if s in '()[]':
vps.append(s)
if check(vps):
print('yes')
else:
print('no')
비슷한 문제
2020/10/31 - [Algorithm/백준 알고리즘] - [알고리즘][Python] 백준(BOJ) 9012 괄호_파이썬
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 9659 돌 게임 5_파이썬 (0) | 2020.11.03 |
---|---|
[알고리즘][Python] 백준(BOJ) 1620 나는야 포켓몬 마스터 이다솜_파이썬 (0) | 2020.11.02 |
[알고리즘][Python] 백준(BOJ) 9012 괄호_파이썬 (0) | 2020.10.31 |
[알고리즘][Python] 백준(BOJ) 1837 암호제작_파이썬 (0) | 2020.10.30 |
[알고리즘][Python] 백준(BOJ) 1244 스위치 켜고 끄기_파이썬 (0) | 2020.10.29 |
Comments