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 |
댓글 영역