题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
import sys def beautiful(st): lst = list(st) #统计各字符出现的次数 dic = {} for s in lst: dic[s] = dic.get(s,0) + 1 dic = dict(sorted(dic.items(),key=lambda x:x[1],reverse=True)) #降序排列,恢复成字典 lst = list(dic.values()) #各字符出现次数,倒序 l = range(26,26-len(dic),-1) #各字符权重值,从26倒序 res = 0 for i in range(len(dic)): res += int(lst[i])*l[i] #乘起来相加 return res n = int(input()) for i in range(n): st = input() print(beautiful(st))