코딩테스트/자료구조(스택,큐,해시,힙)

[해시] (프로그래머스_42577) 전화번호 목록 - 파이썬

영최 2024. 9. 5. 14:25
728x90

✅ 해시 풀이

- dict.fromkeys([arr],value)

- 하나씩 더해가면서 자기자신아니면서 dict에 있는지 비교

def solution(phone_book):
    d = dict.fromkeys(phone_book,1)
    for num in phone_book:
        temp = ""
        for n in num:
            temp+=n
            if temp in d and temp!=num:
                return False
    return True

 

✅ 정렬 풀이 

- 일단 정렬

- 파이썬 문자열의 y.startswith(x)사용하여 판단 (+endswith()도 있음)

def solution(phone_book):
    phone_book.sort()
    for x,y in zip(phone_book,phone_book[1:]):
        if y.startswith(x):
            return False
    return True

 

728x90