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
반응형
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / [복습] 의상 - 해시 / Python 파이썬 (0) | 2025.04.03 |
---|---|
Programmers / [복습] H-index - 정렬 / Python 파이썬 (0) | 2025.04.02 |
Programmers / 정수를 나선형으로 배치하기 - bfs, 달팽이 / Python 파이썬 (1) | 2025.04.01 |
Programmers / [복습] 할인 행사 - 슬라이딩윈도우 / Python 파이썬 (1) | 2025.03.30 |
Programmers / [복습] 피로도 - 순열 , 그리디 / Python 파이썬 (0) | 2025.03.30 |