def solution(phone_book):
answer = True
ph = phone_book.copy()
for i in phone_book:
ph.remove(i)
for k in ph:
m = min(len(i), len(k))
if i[:m] == k[:m]:
answer = False
break
return answer
>>시간초과
>>list와 for문을 두개나 써서, remove로 list 탐색으로 인한 시간 소요
def solution(phone_book):
for x in phone_book:
temp = ""
for y in x:
temp += y #몇 글자가 맞을지 모르니깐 하나씩 더 해봄
if temp in phone_book and temp != x: #dic에 있으면서 자기 자신은 아닌 것
return False
return True
>>시간 초과
>> list와 for문을 두개나 써서, in list 는 in dict보다 시간이 더 걸림
def solution(phone_book):
dic = {}
for x in phone_book:
dic[x] = 0
for x in phone_book:
temp = ""
for y in x:
temp += y #몇 글자가 맞을지 모르니깐 하나씩 더 해봄
if temp in dic and temp != x: #dic에 있으면서 자기 자신은 아닌 것
return False
return True
'코딩테스트 | python > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 | python] 기능개발 >> 다시 풀어보기 (0) | 2024.02.06 |
|---|---|
| [프로그래머스 | python] 같은 숫자는 싫어 (0) | 2024.02.06 |
| [프로그래머스 | python] 완주하지 못한 선수 (1) | 2024.02.06 |
| [프로그래머스 | python] 다리를 지나는 트럭 >> 다시 풀어보기 (0) | 2024.02.06 |
| [프로그래머스 | python] 덧칠하기 (0) | 2023.10.20 |