- 전화번호 전체를 자릿수 기준으로 정렬

- 자릿수가 낮은 전화번호부터 자리수를 늘려가면서 딕셔너리에 있는지 없는지 조사

- 딕셔너리에 있다면 접두사가 있는것이므로 false로 바꾸고 리턴

- 모든 케이스에서 없다면 true 리턴

def solution(phone_book):
    answer = True
    dic = {}
    phone_book.sort(key=lambda x:len(x))
    for phone in phone_book:
        for i in range(len(phone)):
            if dic.get(phone[:i]) != None:
                answer = False
        if answer == False:
            break
        dic[phone] = 1

    return answer

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글

[ Lv 2 ] 조이스틱  (0) 2021.06.24
[ Lv 2 ] 예상 대진표  (0) 2021.06.24
[ Lv 2 ] 프린터  (0) 2021.06.23
[ Lv 2 ] 행렬 테두리 회전하기  (0) 2021.06.23
[ Lv 2 ] 가장 큰 수  (0) 2021.06.22

+ Recent posts