题解 | #名字的漂亮度#

名字的漂亮度

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)
    }
}()

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-24 14:18
点赞 评论 收藏
分享
05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务