프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 42577번 전화번호 목록 풀이

개발윗미 2022. 5. 6. 10:37

Python으로 구현한 42577번 전화번호 목록 문제 풀이입니다.

 

https://programmers.co.kr/learn/courses/30/lessons/42577

 

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

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

programmers.co.kr


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

    return True

 

1. 전달받은 phone_book문자열 리스트를 오름차순으로 정렬한다.

 

2. 정렬된 리스트의 문자열을 하나씩 확인하여 해당 문자열이 다음 문자열 접두사에 존재할 경우 False를 반환한다.

 

3. 모든 문자열을 확인하면서 False가 반환되지 않았다면 True를 반환한다.