본문 바로가기
프로그래머스/Lv.2

전화번호 목록 - Python, HashMap, Dictionary

by 아찌방 2025. 5. 10.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/42577

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

코드 & 풀이

 

def solution(phone_book):
    hash_map = {}
    for number in phone_book:
        hash_map[number] = 1
        
    for number in phone_book:
        tmp = ""
        for num in number[:-1]:
            tmp += num
            if tmp in hash_map:
                return False
            
    return True

 

 

전에는 정렬을 이용해서 풀었던 문제인데

 

해시를 사용해서 풀어봤습니다.

 

방법은 간단합니다.

 

딕셔너리를 해시맵처럼 사용해서

 

일단 phone_book안의 번호들을 다 넣어줍니다.

 

그 후 번호들을 하나씩 꺼내서

 

그 안의 내용물들을 하나씩 추가하면서

 

해시맵에 저장되어 있는지를 확인합니다.

 

이때 자신의 번호는 당연히 있을테니까 제외해줍니다.

 

 

 

 

다음에 또 봐요

 

728x90