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
'프로그래머스 > Lv.2' 카테고리의 다른 글
광물캐기 - JAVA, DFS, HASHMAP, GREEDY (1) | 2025.05.27 |
---|---|
가장 큰 수 - JAVA, compareTo, lambda (0) | 2025.05.16 |
조이스틱 - Python, 그리디 (0) | 2025.05.07 |
월간 코드 챌린지 시즌2 > 2개 이하로 다른 비트 - Python, bin, rfind (0) | 2025.05.05 |
2025 프로그래머스 코드챌린지 1차 예선 > 비밀 코드 해독 - Python, combinations (0) | 2025.03.07 |