电话号码分身

题目描述

继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"), 然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。

输入描述:

第一行是一个整数T(1 ≤ T ≤ 100)表示测试样例数;接下来T行,每行给定一个分身后的电话号码的分身(长度在3到10000之间)。

输出描述:

输出T行,分别对应输入中每行字符串对应的分身前的最小电话号码(允许前导0)。

示例

输入

4
EIGHT
ZEROTWOONE
OHWETENRTEO
OHEWTIEGTHENRTEO

输出

0
234
345
0345

我的代码

n = raw_input()
s = []
def getnum(arr):
	tar = 'ZXGWUFSORI'
	# num_tar = ['Z','X','W','U','G']
	dic = {i:0 for i in tar}
	num_dic = {i:0 for i in range(10)}
	nums = []
	for tmp in arr:		
		if tmp in tar:
			dic[tmp] += 1
		if tmp == 'Z':
			num_dic[2] += 1
		if tmp == 'X':
			num_dic[8] += 1
		if tmp == 'G':
			num_dic[0] += 1
		if tmp == 'W':
			num_dic[4] += 1
		if tmp == 'U':
			num_dic[6] += 1
	num_dic[7] = dic['F'] - dic['U']
	num_dic[5] = dic['R'] - dic['Z']
	num_dic[9] = dic['S'] - dic['X'] 
	num_dic[3] = dic['O'] - dic['Z'] - dic['W'] - dic['U']
	num_dic[9] = dic['I'] - num_dic[7] - dic['X'] - dic['G']
	return num_dic
for i in range(int(n)):
	s.append(raw_input())
for i in s:
	num = []
	numdic = getnum(i)
	for j in range(10):
		# print numdic[j]
		if numdic[j] != 0:
			for count in range(numdic[j]):
				num.append(j)
		
	num.sort()
	istr = ''
	for i in num:
		istr += str(i)
	print istr

通过率:10%

太菜了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值