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

Beanzinu·2022년 1월 26일

코딩테스트

목록 보기
9/42

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

접근법

각 번호를 dict에 넣은 뒤 현재 내가 참조하는 k번째 문자열 원소 길이 1 ~ len(k)-1 까지 dict에 존재한다면 접두어가 존재한다는 것이다.
알고리즘은 매우 간단하지만 이는 주어진 리스트를 정렬하지 않는다면 내가 참조하는 문자열의 길이를 오름차순으로 확인하는 것을 보장할 수 없기 때문에 정렬이 필수적이다.

코드

def solution(phone_book):
    answer = True
    d = {}
    phone_book.sort()
    for p in phone_book:
        d[p] = 1
        for i in range( len(p) ):
            if( p[:i] in d ):
                return False
    return answer
profile
당신을 한 줄로 소개해보세요.

0개의 댓글