목차

[3차] 자동완성

ps
링크programmers.co.kr/…
출처프로그래머스
문제 번호17685
문제명[3차] 자동완성
레벨Level 4
분류

트라이

시간복잡도O(L)
인풋사이즈L<=1,000,000
사용한 언어Python
해결날짜2021/01/04

풀이

코드

"""Solution code for "Programmers 17685. [3차] 자동완성".

- Problem link: https://programmers.co.kr/learn/courses/30/lessons/17685
- Solution link: http://www.teferi.net/ps/problems/programmers/17685
"""

from teflib import string


def solution(words):
    trie = string.Trie(words)
    answer = 0
    for word in words:
        for i, node in enumerate(trie.prefixes(word)):
            if trie.word_count(node) == 0 and trie.get_child_count(node) == 1:
                answer += (i + 1)
                break
        else:
            answer += len(word)
    return answer