728x90
반응형
풀기 전 생각해보기😮
- stack 구조 활용하기
풀이🛫
T = int(input())
for t in range(T):
text = input()
stack = []
for i in text:
if i == "{" or i == "(":
stack.append(i)
elif stack and i == "}" and stack[-1] == "{":
stack.pop()
elif stack and i == ")" and stack[-1] == "(":
stack.pop()
elif i == "}" or i == ")":
stack.append(i)
if stack: # stack의 길이가 0이 아님 : 오답
answer = 0
else: # stack의 길이가 0 : 정답
answer = 1
print(f"#{t+1}", answer)
핵심 정리🎁
- append와 pop을 이용해 스택 구조를 다룰 수 있다.
- stack은 선입후출 (FILO: First In Last Out) 구조
후기 😎
- '런타임 오류'가 발생한다면 코드가 모든 경우에 정상적으로 실행되는지 테스트해봐야한다.
- 세 번째 elif 조건과 같이 주어진 보기만으로 확인할 수 없는 오류들이 작동되었기 때문에 오류가 발생하는 것.
- if, while문의 조건을 꼼꼼히 살피자
'SSAFY > SWEA' 카테고리의 다른 글
[SWEA] #14413. 격자판 칠하기_파이썬 (0) | 2022.08.30 |
---|---|
[SWEA] #10989. 폭격 작전_파이썬 (0) | 2022.08.23 |
[SWEA] #1216. 회문 2_파이썬 (0) | 2022.08.16 |
[SWEA] #4861. 회문_파이썬 (0) | 2022.08.16 |
[SWEA] #12712. 파리퇴치3_파이썬 (0) | 2022.08.16 |