정구리의 우주정복

4873. [파이썬 S/W 문제해결 기본] 4일차 - 반복문자 지우기 본문

ALGORITHM/SOLVE

4873. [파이썬 S/W 문제해결 기본] 4일차 - 반복문자 지우기

Jungry_ 2020. 5. 18. 01:39
반응형

#파이썬으로 풀었다

##질문 댓글

 

스택을 이용해서 풀어주었음 

top(맨 위에값) 을 정해서 top 과 top-1 의 값이 같으면 pop 을 해주는 방식으로 만들었다 

오랜만에 만난 선녀같은 문제 ㅜㅜㅜ 

def checkString(string):
    top = 0
    for i in range(len(string)):
        if len(stack) == 0: #스택 안에 아무것도 없는 경우
            stack.append(string[i])
        else:
            stack.append(string[i])
            top += 1

            if stack[top] == stack[top-1]:
                stack.pop(top)
                stack.pop(top-1)
                top = top-2

testCase = int(input())

for i in range(testCase):
    string=input()
    stack=[]
    checkString(string)
    print('#'+str(i+1)+' '+str(len(stack)))
반응형
Comments