#문제 설명
#문제 풀이
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();
}
}
'LeetCode > Heap' 카테고리의 다른 글
[Medium] 703. Kth Largest Element in a Stream (아마존 코딩 테스트 기출 문제) (0) | 2024.04.03 |
---|---|
[Hard] 295. Find Median from Data Stream (Microsoft 기출 문제) (0) | 2022.10.13 |
[Medium] 1046. Last Stone Weight (구글 코딩 테스트 기출문제) (0) | 2022.10.06 |
[Medium] 347. Top K Frequent Elements (애플/MS/메타/아마존) (0) | 2022.10.02 |
[Medium] Kth Largest Element in an Array (아마존/구글) (0) | 2022.10.02 |