SSAFY/SWEA

[SWEA] #4866. 괄호 검사_파이썬

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