LeetCode/Heap
[Medium] 451. Sort Characters By Frequency
Developer07
2022. 10. 11. 09:35
#문제 설명
#문제 풀이
HashMap + Heap
class Solution {
public String frequencySort(String s) {
Map<Character, Integer> map = new HashMap();
for (char c : s.toCharArray()) {
map.put(c, map.getOrDefault(c, 0) + 1);
}
PriorityQueue <Character> pq = new PriorityQueue((a,b) -> map.get(b) - map.get(a));
for (char c : map.keySet()) {
pq.offer(c);
}
StringBuilder sb = new StringBuilder();
while (!pq.isEmpty()) {
char c = pq.poll();
for (int i = 0; i < map.get(c); i++) {
sb.append(c);
}
}
return sb.toString();
}
}