나의 풀이
def solution(phone_book):
phone_book.sort()
for i in range(len(phone_book)-1):
if (p:=phone_book[i]) == phone_book[i+1][:len(p)]:
return False
return True
고수의 풀이
def solution(phoneBook):
phoneBook = sorted(phoneBook)
for p1, p2 in zip(phoneBook, phoneBook[1:]):
if p2.startswith(p1):
return False
return True
CODE REVIEW
- 주어진 arr을 sort한 뒤에 두 개씩 짝 지어서 비교하는 방식을 택했다.
- 고수의 풀이를 살펴보면, phoneBook과 phoneBook[1:] 리스트를 두 개 만들어놓고 비교하는 방식을 택했다.
-
startswith()
method가 있구나! 잘 안써서 까먹었는데, 이번에 알아두자. 슬라이싱 없이도 확인 가능하게 해주는 유용한 메소드이다.