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