Minimum Deletions to Make Character Frequencies Unique
MediumHash TableStringGreedySorting
Solution
export function minDeletions(s: string): number {
let answer = 0;
const counter = new Map<string, number>();
for (const char of s) {
counter.set(char, (counter.get(char) || 0) + 1);
}
const used = new Map<number, boolean>();
counter.forEach((count) => {
while (used.get(count) && 0 < count) {
answer += 1;
count -= 1;
}
used.set(count, true);
});
return answer;
}