题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
let line = await readline();
let N = parseInt(line);
for(let i = 0; i < N; i++){
line = await readline();
let tokens = line.toLowerCase();
let map = new Map();
for(let i = 0; i < tokens.length; i++){
if(map.get(tokens.charAt(i)) !== undefined){
map.set(tokens.charAt(i), map.get(tokens.charAt(i)) + 1);
}else{
map.set(tokens.charAt(i), 1);
}
}
let tuples = [];
for(const tuple of map.entries()){
tuples.push(tuple);
}
tuples.sort((a, b)=> {
return b[1]-a[1];
});
let sum = 0;
let strength = 26;
for(let i = 0; i < tuples.length; i++){
for(let j = 0; j < tuples[i][1]; j++){
sum += strength;
}
strength--;
}
console.log(sum);
}
}()

