코딩테스트
[LeetCode] Group Anagrams
gajy
2022. 3. 31. 15:48
728x90
https://leetcode.com/problems/group-anagrams/
[ 나의 풀이 ]
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