Skip to content

Instantly share code, notes, and snippets.

@tjd5526
Last active April 24, 2020 08:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tjd5526/99e6b583d829f411ac87ef4c1be75f05 to your computer and use it in GitHub Desktop.
Save tjd5526/99e6b583d829f411ac87ef4c1be75f05 to your computer and use it in GitHub Desktop.
전화번호목록

전화번호 목록

def solution(phone_book):
    phone_book.sort()
    for num1, num2 in zip(phone_book, phone_book[1:]):
        if num2.startswith(num1):
            return False
    return True
정확성 테스트
테스트 1 〉	통과 (0.03ms, 10.6MB)
테스트 2 〉	통과 (0.03ms, 10.7MB)
테스트 3 〉	통과 (0.05ms, 10.7MB)
테스트 4 〉	통과 (0.04ms, 10.6MB)
테스트 5 〉	통과 (0.03ms, 10.6MB)
테스트 6 〉	통과 (0.04ms, 10.7MB)
테스트 7 〉	통과 (0.04ms, 10.7MB)
테스트 8 〉	통과 (0.03ms, 10.8MB)
테스트 9 〉	통과 (0.04ms, 10.7MB)
테스트 10 〉	통과 (0.04ms, 10.8MB)
테스트 11 〉	통과 (0.04ms, 10.7MB)
효율성  테스트
테스트 1 〉	통과 (3.29ms, 15.3MB)
테스트 2 〉	통과 (3.31ms, 15.3MB)

문제의 의도에 맞게 hashmap으로 풀면

def solution(phone_book):
    phone_book.sort()
    ans = dict(zip(map(hash, phone_book), [None]*len(phone_book)))

    for num in reversed(phone_book):
        for sli in list(map(len,phone_book)):
            if hash(num[:sli]) in ans and num[:sli] != num:
                return False
    return True
정확성  테스트
테스트 1 〉	통과 (0.05ms, 10.7MB)
테스트 2 〉	통과 (0.05ms, 10.6MB)
테스트 3 〉	통과 (0.05ms, 10.7MB)
테스트 4 〉	통과 (0.05ms, 10.6MB)
테스트 5 〉	통과 (0.07ms, 10.8MB)
테스트 6 〉	통과 (0.05ms, 10.6MB)
테스트 7 〉	통과 (0.04ms, 10.7MB)
테스트 8 〉	통과 (0.04ms, 10.6MB)
테스트 9 〉	통과 (0.04ms, 10.7MB)
테스트 10 〉	통과 (0.04ms, 10.7MB)
테스트 11 〉	통과 (0.05ms, 10.7MB)
효율성  테스트
테스트 1 〉	통과 (5.33ms, 15.4MB)
테스트 2 〉	통과 (5.24ms, 15.2MB)
def solution(phone_book):
    phone_book.sort()
    ans = dict(zip(phone_book, [None]*len(phone_book)))
    for num in reversed(phone_book):
        for sli in list(map(len,phone_book)):
            tmp = num[:sli]
            if tmp in ans and tmp != num:
                return False
    return True
정확성  테스트
테스트 1 〉	통과 (0.04ms, 10.7MB)
테스트 2 〉	통과 (0.04ms, 10.7MB)
테스트 3 〉	통과 (0.04ms, 10.7MB)
테스트 4 〉	통과 (0.04ms, 10.8MB)
테스트 5 〉	통과 (0.04ms, 10.7MB)
테스트 6 〉	통과 (0.04ms, 10.7MB)
테스트 7 〉	통과 (0.04ms, 10.7MB)
테스트 8 〉	통과 (0.04ms, 10.7MB)
테스트 9 〉	통과 (0.04ms, 10.6MB)
테스트 10 〉	통과 (0.04ms, 10.7MB)
테스트 11 〉	통과 (0.05ms, 10.7MB)
효율성  테스트
테스트 1 〉	통과 (4.44ms, 15.3MB)
테스트 2 〉	통과 (4.37ms, 15.4MB)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment