coding test - python/Programmers
Programmers / [복습] 전화번호 목록 - 해시 / Python 파이썬
sillon
2025. 4. 3. 15:46
728x90
반응형
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 전화번호 목록
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/42577
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
나의 풀이
def solution(phone_book):
hash_map = {}
for i in phone_book:
hash_map[i] = 1 # 전화번호를 모두 해시로 저장
# 접두어가 hash map에 존재하는지 찾는다.
for number in phone_book:
head = ''
for j in number:
head += j
print(head)
if head in hash_map and head != number:
return False
return True
너무 성급하게 슬라이딩 윈도우 처럼 처리하지말고
해시로 일단 번호들을 저장해줌
그리고 각각 number을 for문 돌면서 헤드를 만들어보고, (그 헤드가 해시맵에 있고 헤시맵의 숫자로 해당되지 않는다면 )
헤드가 될만한게 해시안에 있는지 확인
728x90
반응형