전화번호 목록1 프로그래머스 42577번 전화번호 목록 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42577 풀이 이 문제는 "해시" 카테고리에 있지 않았다면 못 풀었을 것 같은 문제였다고 생각한다. 성능 테스트를 통과하려면, HashMap의 탐색 시간 복잡도가 O(1) 인 것을 최대한 이용해야 한다. 그럼 HashMap의 key, value를 무엇으로 정해야 할까? => 전화번호의 substring을 key, 전화번호의 길이를 value로 잡고 모두 저장하면, 전화번호가 다른 전화번호의 접두어인지 O(1)로 확인할 수 있다. 1. 모든 전화번호에 대해 를 HashMap에 저장한다. substring이 동일한데, 전화번호 길이가 더 길다면, 값을 갱신한다. => O(n * 20) 2. phon.. 2022. 7. 18. 이전 1 다음