Algorithm/코딩테스트 (Python)
[SWEA 4873][파이썬 S/W 문제해결 기본]. 4일차 - 반복문자 지우기
싱브이
2023. 10. 26. 17:53
728x90
반응형
문제
문자열 s에서 반복된 문자를 지우려고 한다. 지워진 부분은 다시 앞뒤를 연결하는데, 만약 연결에 의해 또 반복문자가 생기면 이부분을 다시 지운다.
반복문자를 지운 후 남은 문자열의 길이를 출력 하시오. 남은 문자열이 없으면 0을 출력한다.
다음은 CAAABBA에서 반복문자를 지우는 경우의 예이다.
CAAABBA 연속 문자 AA를 지우고 C와 A를 잇는다.
CABBA 연속 문자 BB를 지우고 A와 A를 잇는다.
CAA 연속 문자 AA를 지운다.
C 1글자가 남았으므로 1을 리턴한다.
내 생각
입력받은 문자를 stack의 top과 비교하면서 같지 않으면 stack에 넣는다! 아주 간단한 문제이다
내 코드
T = int(input())
for test_case in range(1, T + 1):
sinput = input()
stack = []
for s in sinput:
if stack and s == stack[-1]:
stack.pop()
else:
stack.append(s)
print(f'#{test_case} {len(stack)}')
728x90
반응형