phone_book을 <전화번호: index> 의 dictionary 로 저장한다: dict
dict 를 2중 for문 돌면서 전화번호의 일부가 dict에 있다면 False를 반환한다.
def solution(phone_book):
dict = {}
for i in range(len(phone_book)):
dict[phone_book[i]] = i
for key, val in dict.items():
for i in range(1, len(key)):
if key[0:i] in dict:
return False
return True
dictionary 에서 key contains 검사하기: key in dict
list 다음 아이템과 비교할 수 있는 방법: zip(arr, arr[1:])
arr = ['12', '123', '1235', '567', '88']
for a, b in zip(arr, arr[1:]):
print(a, b)
12 123
123 1235
1235 567
567 88
def solution(phone_book):
phone_book.sort()
for a, b in zip(phone_book, phone_book[1:]):
if b.startswith(a):
return False
return True