题解 | #名字的漂亮度#
名字的漂亮度
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) } }()