题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

const rl = require("readline").createInterface({ input: process.stdin });
let arr = []
rl.on('line', function(line) {
    arr.push(line)
})
rl.on('close', function() {
    arr.shift()
    // console.log(arr)
    arr.forEach(item => {
        getNum(item)
    })

})
function getNum(data) {
    let arr1 = data.split('')
    let obj = {}
    arr1.forEach(item => {
        if(!obj[item]) {
            obj[item] = 1
        }else {
            obj[item]++
        }
        
    })
    // console.log(obj)
    let tempArr = []
    for(let key in obj) {
        tempArr.push(obj[key])
    }
    tempArr.sort((a,b) => {
        return b-a
    })
    // console.log(tempArr)
    let k = 26
    let sum = 0
    tempArr.forEach(item => {
        sum+=item*k
        k--
    })
    console.log(sum)
}

关键在于理解题目,可以转换为:统计字符串中的字母出现次数并排序,次数最多的漂亮度为26,依次递减,最后所有漂亮度求和

全部评论

相关推荐

09-12 11:55
已编辑
湖南工商大学 Java
那一天的Java_J...:这种一堆问题的,别去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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