728x90
[나의 솔루션]
def solution(phone_book):
answer = []
for num in phone_book:
phone_book.remove(num)
for n in phone_book:
if n.find(num) == -1:
answer.append('True')
else:
answer.append('False')
phone_book.append(num)
if 'False' in answer:
return False
else:
return True
테스트 결과 3개의 테스트 케이스를 통과하였다.
그러나, 제출 후 체점하기를 하니.... 완전 난리났다..
효율성 문제에서도.. ㅜㅜㅜ
[다른 사람 코드]
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
[다른 사람 코드]
ef solution(phoneBook):
phoneBook = sorted(phoneBook)
for p1, p2 in zip(phoneBook, phoneBook[1:]):
if p2.startswith(p1):
return False
return True
728x90
'STUDY > Python' 카테고리의 다른 글
[프로그래머스] 문자열의 뒤의 n글자 (0) | 2023.06.12 |
---|---|
[프로그래머스] 공배수 (0) | 2023.06.11 |
@staticmethod 란? (0) | 2023.04.19 |
[프로그래머스] 겹치는 선분의 길이 파이썬 (0) | 2023.04.10 |
[프로그래머스] 음양 더하기 파이썬 (0) | 2023.04.06 |