728x90
https://www.acmicpc.net/problem/4949
스택을 이용하면 쉽게 풀 수 있는문제.
마지막에 스택에 남아있는 괄호가 있는지까지 판단해야지 된다!
만약 이걸 판단 안 할 경우
입력값으로 [[ 같은것들이 들어와도 yes를 반환하니까!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
while 1:
input_str = input()
if input_str == '.':
break
st = []
result = True
for s in input_str:
if s == '[' or s == '(':
st.append(s)
elif s == ']':
if st and st[-1] == '[':
st.pop()
else:
result = False
break
elif s == ')':
if st and st[-1] == '(':
st.pop()
else:
result = False
break
if not result or st:
print('no')
elif result:
print('yes')
|
cs |
728x90
'PS > 백준' 카테고리의 다른 글
[백준 1874번] 스택 수열 (파이썬/python) (0) | 2021.06.15 |
---|---|
[백준 1010번 ] 다리 놓기 (파이썬/python) (0) | 2021.06.15 |
[백준 2805번] 나무 자르기 (파이썬/python) (0) | 2021.06.14 |
[백준 11651번] 좌표 정렬하기 2 (파이썬/python) (0) | 2021.06.14 |
[백준 11729번] 하노이 탑 이동 순서 (파이썬/python) (0) | 2021.06.14 |