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