더북(TheBook)

전체 코드

4장/짝지어_제거하기.py

def solution(s):
    while len(s) > 1:                   #문자열이 남을 때까지 
        s = list(s)                     #문자열을 문자 배열로 변환
        for i in range(len(s) - 1):     #배열 인덱스는 항상 신경 쓸 것
            if s[i] == s[i + 1]: s[i] = s[i + 1] = '' #중복 문자를 공백으로 변경

        new_s = ''.join(s)               #문자열을 합치면서 공백 자동 제거
        if len(s) == len(new_s): break  #변화가 없으면 제거하지 못했으므로 반복문 탈출
        s = new_s

    return 1 if len(s) == 0 else 0

막상 실행하면 논리가 맞는 것과는 다르게 대부분의 테스트가 시간 초과 문구가 뜨면서 실패합니다.

테스트 1 > 통과 (0.01ms, 10MB)
테스트 2 > 통과 (12.17ms, 10.8MB)
테스트 3 > 실패 (시간 초과)
테스트 4 > 실패 (시간 초과)
테스트 5 > 실패 (시간 초과)
테스트 6 > 실패 (시간 초과)
테스트 7 > 실패 (시간 초과)
테스트 8 > 실패 (시간 초과)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.