- 전화번호 전체를 자릿수 기준으로 정렬
- 자릿수가 낮은 전화번호부터 자리수를 늘려가면서 딕셔너리에 있는지 없는지 조사
- 딕셔너리에 있다면 접두사가 있는것이므로 false로 바꾸고 리턴
- 모든 케이스에서 없다면 true 리턴
def solution(phone_book):
answer = True
dic = {}
phone_book.sort(key=lambda x:len(x))
for phone in phone_book:
for i in range(len(phone)):
if dic.get(phone[:i]) != None:
answer = False
if answer == False:
break
dic[phone] = 1
return answer
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글
[ Lv 2 ] 조이스틱 (0) | 2021.06.24 |
---|---|
[ Lv 2 ] 예상 대진표 (0) | 2021.06.24 |
[ Lv 2 ] 프린터 (0) | 2021.06.23 |
[ Lv 2 ] 행렬 테두리 회전하기 (0) | 2021.06.23 |
[ Lv 2 ] 가장 큰 수 (0) | 2021.06.22 |