| 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