전체 코드

    4장/튜플_최적화.py

    def solution(s):
        answer = {}                     #배열([])에서 딕셔너리({})로 교체
        s = sorted(s[2:-2].split("},{"), key=len)
        for tuples in s:
            elements = tuples.split(',')
            for element in elements:
                number = int(element)
                if number not in answer:
                    answer[number] = 1   #딕셔너리 키 사용(값(value)은 아무거나)
    
        return list(answer)              #딕셔너리의 키값만 배열의 인자가 됨

    중복 검사의 속도만 해결했을 뿐인데 실행 시간이 굉장히 짧아졌습니다.

    테스트 11 > 통과(15.93ms, 11.3MB)
    테스트 12 > 통과 (21.76ms, 11.9MB)
    테스트 13 > 통과 (22.03ms, 12.1MB)
    >테스트 14 > 통과 (21.87ms, 12.1MB)

    정렬할 때 소요되는 시간을 감안하면 예상대로 0.02초 정도가 걸렸습니다. 실행 시간이 0.2~0.3초라도 합격이지만, 가능한 빠르게 실행하도록 연습하는 것이 좋으므로 여유가 된다면 다양한 최적화 기법을 숙지하세요.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.