[백준 알고리즘] 4949번 균형잡힌 세상, 파이썬(python)
글 작성자: 망고좋아
반응형
4949, 균형잡힌 세상
📁 문제 출처
💡 생각
- 스택 사용
- 스택이 비어있을 때 ], )가 들어오면 no출력 후 break
- 그 이후는 문제 그대로 하나씩 적어 나가면서 코드 작성.
🛠 나의 코드
while True:
data = input()
if data == '.':
break
stk = []
for i in data:
if i not in '[]()':
continue
elif len(stk) == 0:
if i in '])':
print('no')
break
stk.append(i)
elif i == ']':
if stk[-1] == '[':
stk.pop()
else:
print('no')
break
elif i == ')':
if stk[-1] == '(':
stk.pop()
else:
print('no')
break
else:
stk.append(i)
else:
if len(stk) == 0:
print('yes')
else:
print('no')
while True:
data = input()
if data == '.':
break
stk = []
for i in data:
if i in '([':
stk.append(i)
elif i == ')':
if len(stk) == 0 or stk[-1] == '[':
print('no')
break
elif stk[-1] == '(':
stk.pop()
elif i == ']':
if len(stk) == 0 or stk[-1] == '(':
print('no')
break
elif stk[-1] == '[':
stk.pop()
else:
if len(stk) == 0:
print('yes')
else:
print('no')
✔️ 배운 점 및 주의할 점
- for-else문에서 print('no')를 추가 안 해줘서 계속 틀렸다...
- 좀 더 꼼꼼하게 살펴볼 것
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘] 2941번 크로아티아 알파벳, 파이썬(python) (0) | 2021.08.14 |
---|---|
[백준 알고리즘] 4948번 베르트랑 공준, 파이썬(python) (0) | 2021.08.14 |
[백준 알고리즘] 1021번 회전하는 큐, 파이썬(python) (0) | 2021.08.11 |
[백준 알고리즘] 5430번 AC, 파이썬(python) (0) | 2021.08.10 |
[백준 알고리즘] 2164번 카드2, 파이썬(python) (0) | 2021.08.10 |
댓글
이 글 공유하기
다른 글
-
[백준 알고리즘] 2941번 크로아티아 알파벳, 파이썬(python)
[백준 알고리즘] 2941번 크로아티아 알파벳, 파이썬(python)
2021.08.14 -
[백준 알고리즘] 4948번 베르트랑 공준, 파이썬(python)
[백준 알고리즘] 4948번 베르트랑 공준, 파이썬(python)
2021.08.14 -
[백준 알고리즘] 1021번 회전하는 큐, 파이썬(python)
[백준 알고리즘] 1021번 회전하는 큐, 파이썬(python)
2021.08.11 -
[백준 알고리즘] 5430번 AC, 파이썬(python)
[백준 알고리즘] 5430번 AC, 파이썬(python)
2021.08.10