题解 | #名字的漂亮度#

名字的漂亮度

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

import sys


#先将输入的字符变成列表
N = int(input())
list_string = []
for i in range(0,N):
    list_string.append(input())
#定义一个函数,统计每个字符的数量
def cal_beau(string):
    dic = {}
    for char in string:
        dic[char] = dic.get(char,0) + 1
#将数量按照倒序进行排序
    tem = sorted(dic.items(),key = lambda x:-x[1])
    beau = 0 #漂亮度总和初始值为0
    l = 26 #漂亮度的初始值为26,字母最多的漂亮度为16,依次减1
    for i in range(len(tem)):
        beau += l * tem[i][1]
        l -= 1
    return beau
for char in list_string:
    print(cal_beau(char))

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务