牛客网 名字的漂亮度
题目描述
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。
输入描述:
整数N,后续N个名字
输出描述:
每个名称可能的最大漂亮程度
示例1
输入
2 zhangsan lisi
输出
192 101
思路:关键找出名字中每个字母的个数,用set来查找避免重复。
while True: try: num = int(raw_input()) total = [raw_input() for _ in range(num)] # print(total) for i in range(len(total)): temp = total[i] tcount = [] stemp = list(set(temp)) # print(stemp) for j in range(len(stemp)): count = temp.count(stemp[j]) tcount.append(count) # print(tcount) stcount = sorted(tcount,reverse=True) maxv = 26 sumv = 0 for k in range(len(stcount)): eachv = stcount[k] * maxv maxv -= 1 sumv += eachv print(sumv) except: break
浙公网安备 33010602011771号