Published:
Updated:

  • 이중 for문을 돌 생각을 못 하고 계속 in과의 싸움만 하다가 시간이 증발했다.
    • 이런 문제는 직접 tmp 기법으로 단어를 만들면서 비교해야 한다.


Solution

from typing import List


# 접두어가 "존재하면" False 리턴
def solution(phone_book: List[str]) -> bool:
    phone_map = {}
    for phone in phone_book:
        phone_map[phone] = 1

    for phone in phone_book:
        tmp = ''
        for p in phone:
            tmp += p
            if tmp in phone_map and tmp != phone:
                return False

    return True


print(solution(["119", "97674223", "1195524421"]))
print(solution(["123", "456", "789"]))
print(solution(["12", "123", "1235", "567", "88"]))


Reference

Leave a comment