[Python] 전화번호 목록

정석·2024년 1월 11일
0

알고리즘 학습

목록 보기
5/67
post-thumbnail

💡 문제

✓ 풀이

def solution(phone_book):
    answer = True
    new = sorted(phone_book)

    for i in range(len(new)-1):
        
        if len(new[i]) < len(new[i+1]):

            if new[i] == new[i+1][:len(new[i])]:
                answer = False
                break

    return answer

▶︎ 숫자로 된 리스트 중에 접두어로 겹치는 부분이 있으면 false 를 출력한다. 접두어가 되는 리스트 요소를 따로 뽑아서 비교해야 하는데 방법이 떠오르지 않았다. 결국 정렬을 통해 리스트를 나열하고 정렬된 숫자는 앞 뒤로 접두어가 될 경우가 존재하기에 if 문으로 조건을 확인한 뒤 answer 을 맞게 반환한다.

0개의 댓글