Algorithm/Programmers

[해시] 프로그래머스 Lv2. 전화번호 목록 - Python

jyjyjy25 2024. 5. 17. 23:25

🗂️ 문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

💡 접근법

phone_book에 있는 한 번호가 다른 번호의 접두어인지 확인하는 문제이다.

 

따라서 문자열을 기준으로 정렬을 수행한다. 이후 현재 번호가 바로 다음 번호의 접두어에 해당하는지 확인한다.

만약 접두어에 해당할 경우 False를 출력하고, 해당하지 않을 경우 다음 번호를 비교한다.

 

😎 내 코드

def solution(phone_book):
    answer = True

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