题解 | #名字的漂亮度#
名字的漂亮度
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 num = await readline()
while(line = await readline()){
let items = line.split('').map(v => v.toLowerCase()).sort();
// 首先统计过出每一个字符出现的次数
let obj = {}
items.forEach(v => {
obj[v] = obj[v] ? obj[v] + 1 : 1
})
// 将其放到数组里面然后按数量排序
let arr = []
for(let key in obj){
arr.push({key:obj[key],[key]:key})
}
arr.sort((a,b)=>b.key-a.key)
// 排序之后,再从前到后计算漂亮度
let sum = 0;
arr.forEach((v,i) => {
sum += v.key * (26-i)
})
console.log(sum)
}
}()
OPPO公司福利 1059人发布