SWE(4873)_반복문지우기

SWE 4873 반복문 지우기

아이디어

반복된 문자를 제거하면, 그 문자열을 처음부터 다시 검사해야한다.

배운 것

  • 파이썬에서 부분 문자열을 어떻게 삭제하지 ? del이나 pop이 없는데 ?]
    • 크게 2가지 방법이 있다. 하나는 replace를 써서 모든 M을 제거하는 거다
    • newstr = oldstr.replace("M","")
    • 다른 하나는 중간의 문제를 제외한 나머지를 복사해 오는 것이다.

코드

def checkRow(text):
    row = ""
    length = len(text)
    for i in range(1, length):
        if(text[i] == text[i-1]):
            row += text[0:i-1]
            row += text[i+1:length]
            return checkRow(row)
    return len(text)


if __name__ == "__main__":
    T = int(input())
    for tc in range(1, T+1):
        row = input()
        print("#%s %d" % (tc, checkRow(row)))


참고자료

[부분문자열]https://hashcode.co.kr/questions/1178/%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90%EC%84%9C-%EB%AC%B8%EC%9E%90-%ED%95%98%EB%82%98%EB%A7%8C-%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B3%A0-%EC%8B%B6%EC%9D%80%EB%8D%B0-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%98%EC%A3%A0

0%