해리의 데브로그

(SW 문제해결 기본 - Stack1) SWEA 4873 - 반복문자 지우기

|

문제

  • SWEA 4873 - [파이썬 S/W 문제해결 기본 4일차] Stack1 - 반복문자 지우기
  • 문제링크
  • 문제의 저작권은 SW Expert Academy에 있습니다.

나의 코드

TC = int(input())

for tc in range(1, TC+1):
    Data = list(input())
    N = len(Data)
    stack = []
    for i in range(N):
        #stack이 비었거나, 스택의 마지막 값이 데이터 내 값과 같지 않은 경우 
        #=> stack에 저장(append)
        if not stack or stack[-1] != Data[i]:
            stack.append(Data[i])
        #stack에 값이 있고, 스택의 마지막 값과 데이터 내 값과 같은 경우 
        #=> stack에서 제거(pop)
        elif stack and stack[-1] == Data[i]:
            stack.pop()
    print(f'#{tc} {len(stack)}')

Comments