Algorithm/1일 1코테
[🥲 프로그래머스] 전화번호 목록 - hash
대인보우
2021. 7. 22. 20:47
반응형
https://programmers.co.kr/learn/courses/30/lessons/42577
✅ 내가 푼 풀이
# 시간 초과
def solution(phone_book):
phone_book.sort() # 시간단축을 위한 정렬
for i, v in enumerate(phone_book):
for j in range(i+1, len(phone_book)):
if phone_book[j].startswith(v): # v로 시작하면 false
return False
return True
✅ 다른 사람 풀이
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: # 본인이 아니면서 hash_map에 있으면
answer = False
return answer
def solution(phone_book):
phone_book.sort()
for i, j in zip(phone_book, phone_book[1:]):
if j.startswith(i):
return False
return True
반응형