给定一个字符串和一个数组作为输入,您的任务是输出在典型的移动键盘上键入时输入字符串将打印的文本。在移动键盘中,通过按n次按钮来键入字母,其中n是字母在按钮标签上的位置。因此,22
应输出b
。
规则
辅助数组将包含字符映射表(
[" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
)。这将为您节省一些字节。该
#
符号将切换大小写。初始大小写会更低。所以2#3
应该输出aD
。该
0
会添加一个空格。因此,202
应输出a a
。输入的字符串中将有一个空格(),以在同一数字按钮上开始一个新字母。例如,键入时
aa
,输入String为2 2
。保证输入的String始终是有效的键盘代码。
输入值
您可以使用您的语言支持的任何方式进行输入。
输出量
您可以按任何方式输出结果。功能return
也是允许的。
测试用例
#4440555#666888330#999#66688111 -> "I Love You!"
#6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!"
#44#27 79990#66#3390#999#332777111 -> "Happy New Year!"
这是代码高尔夫球,因此以字节为单位的最短代码胜出!
5
密切相关
—
Mego
我认为
—
Maltysen '16
year
在最后一个测试案例中大写是错误的。
我们是否需要考虑循环?像2222-> invalid还是2222-> b?
—
李奎林
@Maltysen是的,你是对的。我已经编辑了问题。感谢您指出。:)
—
Arjun
出于兴趣,是否
—
尼尔,
##
需要处理或加倍空间?