Algorithm/BFS, DFS

[프로그래머스] 전화번호 목록

등촌동 꼬북이 2020. 8. 27. 15:41

이번에는 2단계 문제다

 

주어지는 리스트를 먼저 정렬을 하고 

 

앞의 요소가 뒤의 요소의 접두어인 경우가 있으면 false를 아니면 true를 return하면 되는 문제

 

근데 여기서 포인트는 false인 경우가 한번이라도 있으면 false를 return하면 되기 때문에

 

바로 if 문에서 빠져 나올 수 있는 return False를 줬다

 

여기서 포인트는 파이썬에서 사용되는 Slice를 활용하면 갸꿀이라는 것

 

def solution(phone_book):
    phone_book.sort()
    for i in range(len(phone_book)-1):
        x = phone_book[i]
        y = phone_book[i+1]
        if x == y[:len(x)]:
            return False
    return True