

익숙해서 보니 전에 백준으로 풀었던 문제였다.
다만 전에는 list 이중 for문 돌리면서 startswith() 쓰는 방식으로 구현했는데
아마 그렇게 하면 너무 오래 걸릴 것 같고 여기선 해시 딕셔너리를 쓰는 방식으로 구현해야 할 것 같다.
일단 key에 전화번호를 모두 저장해두고 한개의 키마다 그 키의 조각을 자기자신으로 하는 키가 있는지 확인해볼 예정이다.
예를 들어 11934324의 경우 ch = 1, ch = 11, ch = 119 이런식으로 붙여가며 딕셔너리에 있는지 확인하는 것
def solution(phone_book):
answer = True
p_dict = {}
for num in phone_book:
p_dict[num] = 0
for num in p_dict:
ch = ""
for c in num:
ch += c
if ch in p_dict and ch != num:
return False
return answer'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [알고리즘 고득점 kit/스택, 큐] 기능개발 (0) | 2026.04.29 |
|---|---|
| [알고리즘 고득점 kit/해시] 베스트앨범 (0) | 2026.04.28 |
| [알고리즘 고득점 kit/해시] 의상 (0) | 2026.04.28 |
| [알고리즘 고득점 kit/해시] 폰켓몬 (0) | 2026.04.28 |
| [알고리즘 고득점 kit/해시] 완주하지 못한 선수 (0) | 2026.04.28 |