문제풀이/기타

[파이썬] [해시] Pro 전화번호 목록

승무_ 2022. 2. 10. 09:34

문제

https://programmers.co.kr/learn/courses/30/lessons/42577?language=python3 

 

코딩테스트 연습 - 전화번호 목록

전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조

programmers.co.kr

 

코드

def solution(phone_book):
    phone_book.sort()

    for i in range(len(phone_book)-1):
        next=phone_book[i+1]
        if phone_book[i]==next[:len(phone_book[i])]:
            return False
    return True

생각 정리

어떤 번호가 다른 번호의 접두어라면 정렬했을 때 앞뒤에 위치한다.

 

 

12 123 1235 567 88

sort()

['12', '123', '1235', '567', '88']