내 풀이.. (틀림)
def solution(phone_book):
phone_book.sort()
prefix = phone_book[0]
p_len = len(prefix)
dic = []
for i in range(1, len(phone_book)):
if phone_book[i][:p_len] == prefix:
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:
answer = False
return answer
해시를 사용해서 푼 정석적인 풀이...
너무 어렵다 . . .
for a in 문자열, 이렇게하면 a가 문자 하나씩 쪼개지는구나...
그걸 가지고 문자를 저렇게 풀다니..충격적이다....
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 스택/큐 - 기능개발 (0) | 2024.01.26 |
---|---|
[프로그래머스] 스택 - 같은 숫자는 싫어 (1) | 2024.01.26 |
[프로그래머스] 해시 - 폰켓몬 (0) | 2024.01.23 |
[프로그래머스] 완주하지 못한 선수 (1) | 2024.01.22 |
[코딩테스트] 할 일 목록 (0) | 2024.01.12 |