def solution(phone_book):
answer = True
dic = {}
for i in phone_book:
dic[i] = 0
for j in phone_book:
search = ''
for k in j:
search += k
if search in dic and search != j:
answer = False
return answer
return answer
해시를 이용한 풀이. (처음에 접근을 잘못해서 도움을 받고 풀었다.)
폰번호를 딕셔너리에 키값으로 저장하고 순회를 통해 앞 문자열부터 하나씩 붙여가면서 그 붙인 문자열이 만약 접두어 이고, 그 접두어 자체의 번호가 아니라면 접두어가 포함 된 다른번호이므로 false
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] 소수 찾기 (0) | 2023.01.04 |
---|---|
[프로그래머스 / 파이썬 풀이] 최소직사각형 (0) | 2023.01.04 |
[Programmers / Python 풀이] 폰켓몬 (0) | 2023.01.03 |
[Programmers / Python 풀이] 완주하지 못한 선수 (0) | 2023.01.03 |
[Programmers / Python 풀이] 주식가격 (0) | 2023.01.03 |