더북(TheBook)

전체 코드

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초라도 합격이지만, 가능한 빠르게 실행하도록 연습하는 것이 좋으므로 여유가 된다면 다양한 최적화 기법을 숙지하세요.

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