题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
python3
def beautiful_degree(name):
string = [] # 储存字符
string_num = [0]*26 # 储存字符数量
beauty = 0 # 漂亮度
for item in name:
if item not in string: # 计算每个字符出现的次数
string.append(item)
string_num[string.index(item)] += 1
else:
string_num[string.index(item)] += 1
string_num = sorted(string_num[:len(string)])[::-1] # 将字符出现次数从大到小排序便于计算
for i in range(len(string_num)):
beauty += (26 - i) * string_num[i]
return beauty
while True:
try:
N = int(input().strip()) # 名字个数
beauty = [] # 漂亮度
for i in range(N):
beauty.append(beautiful_degree(input().strip()))
for line in beauty:
print(int(line))
except:
break
