💡 Python 3
전화번호 목록 [Link]
효율성 테스트에서 시간 초과로 실패한 코드 ..
def solution(pb):
pb.sort()
for i, num in enumerate(pb):
for j in range(i+1, len(pb)):
if num == pb[j][:len(num)]: return False
return True
sort
로 정렬한 점을 고려해서 다시 작성한 코드
def solution(pb):
pb.sort()
for i in range(len(pb)-1):
if len(pb[i]) < len(pb[i+1]):
if pb[i] == pb[i+1][:len(pb[i])]: return False
return True
zip
과startswith
를 활용한 코드
startswith
는 인자로 튜플, 문자열만 받는다.
def solution(phoneBook):
phoneBook = sorted(phoneBook)
for p1, p2 in zip(phoneBook, phoneBook[1:]):
if p2.startswith(p1):
return False
return True