본문 바로가기
컴퓨터공학/자료구조&알고리즘

[프로그래머스] 코딩테스트 고득점 Kit - 해시 - 전화번호 목록

by hobbiz 2021. 5. 8.
반응형

 

 

나의 풀이)

import java.util.*;
class Solution {
    public boolean solution(String[] phone_book) {
         Arrays.sort(phone_book, new Comparator<String>() {
            public int compare(String o1, String o2) {
                return o2.length() - o1.length();
            }
        });

        HashMap<String, String> hm = new HashMap<>();
        
        for (String str : phone_book) {
            if (hm.get(str) != null) return false;
            
            for (int i = 1 ; i <= str.length(); i++) 
                hm.put(str.substring(0, i), "");
        }

        return true;
    }
}

 

테스트케이스가 바뀌어서 다른코드는 깔끔하더라도 효율성 통과가 안된다는 것 같다.

HashMap을 사용해서 속도는 빠르지만 공간효율성은 별로 좋은 것 같지 않다.

반응형

댓글