티스토리 뷰

코딩테스트

[LeetCode] Group Anagrams

gajy 2022. 3. 31. 15:48
728x90

https://leetcode.com/problems/group-anagrams/

 

Group Anagrams - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


[ 나의 풀이 ]

Success

import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        Map<String, List<String>> map = new HashMap<String, List<String>>();
        
        for(String str : strs) {
            char[] keyArray = str.toCharArray();
            Arrays.sort(keyArray);
            String key = String.valueOf(keyArray);
            List<String> value = map.getOrDefault(key, new ArrayList<String>());
            value.add(str);
            map.put(key, value);
        }
        
        List<List<String>> result = new ArrayList<List<String>>();
        for(String key : map.keySet()) {
            result.add(map.get(key));
        }
        
        return result;
    }
}

[ values()를 사용한 return문 작성 ]

return을 아래와 같이 작성 할 수 도 있다.

import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        ...
        return new ArrayList(map.values());
    }
}
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31