문제링크: 전화번호 목록
✍🏻 Information
| content | |
|---|---|
| 언어 | python |
| 난이도 | ⭐️⭐️⭐️ |
| 풀이시간 | 60분? |
| 제출횟수 | ∞ |
| 인터넷검색유무 | no |
🍒 My Code
def solution(phone_book):
phone_book.sort()
for idx in range(1,len(phone_book)):
if phone_book[idx-1]==phone_book[idx][:len(phone_book[idx-1])]:
return False
return True
#두개 다 시간초과 났음
"""
phone_book.sort(key=len)
first = []
for i in phone_book:
for j in first:
if len(j)!=len(i) and i[:len(j)]==j:
return False
first.append(i)
return True
"""
"""
for i in range(len(phone_book)):
for j in range(i+1,len(phone_book)):
if phone_book[i]==phone_book[j][:len(phone_book[i])]:
return False
return True
"""
💡 What I learned
def solution(phone_book):
answer = True
hash_map = {}
for phone_number in phone_book:
hash_map[phone_number] = 1
for phone_number in phone_book:
temp = ""
for number in phone_number:
temp += number
if temp in hash_map and temp != phone_number:
answer = False
return answer
문자열이 특정 문자열로 시작하는지 확인: startswith()문자열이 특정 문자열로 끝나는지 확인: endswith()