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

swb·2024년 2월 11일

프로그래머스

목록 보기
23/23

문제 바로가기

접근 방법

  1. 접두어란?
    사전적 의미보단 여기서 어떤 식으로 쓰이는지 이해해 보자.
    문제를 보고도 이해가 되지 않아서 테스트를 해보았다.
    12는 123의 접두어이다. 하지만 312의 접두어는 아니다.
    이제 이해가 된다.

  2. 그렇다면 in은 사용할 수 없다.

  3. 사전순으로 정렬하여 바로 앞의 문자열만 비교하면 될 것이다.
    어떻게? 이전 문자열의 길이만큼만.

코드

def solution(phone_book):
    phone_book.sort()

    for i in range(len(phone_book) - 1):
        if phone_book[i] == phone_book[i + 1][:len(phone_book[i])]:
            return False
    return True
profile
개발 시작

0개의 댓글