상세 컨텐츠

본문 제목

프로그래머스 전화번호 목록 python

알고리즘 공부

by 독서와 여행 2021. 3. 17. 12:32

본문

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

    for index in range(len(phone_book)-1):
        if(phone_book[index] == phone_book[index + 1][:len(phone_book[index])]):
            return False
        

    return answer

 

생각해보니 정렬을 하면 바로 앞의 번호가 뒤 번호의 접두어가 아니면 그 뒤부터는 절대 아니니 확인할 필요가 없다!

 

블로그 보며 알아서 내 코드를 고쳤다. 

 

 

 

startswitch를 이용하면 더 깔끔하게 풀 수 있다!

def solution(phone_book):
    phone_book.sort()
    for p1, p2 in zip(phone_book, phone_book[1:]):
        if p2.startswith(p1):
            return False
    return True

'알고리즘 공부' 카테고리의 다른 글

프로그래머스 더 맵게 파이썬  (0) 2021.03.23
다리를 지나는 트럭 파이썬  (0) 2021.03.23
프로그래머스 - 전화번호 목록  (0) 2021.03.17
프로그래머스 체육복  (0) 2021.03.16
백준 1992번  (0) 2020.11.03

관련글 더보기

댓글 영역