我们都习惯了老式的电话键盘,对吗?供参考,如下所示:
给定一个仅包含小写ASCII字母和单个空格的字符串,您的任务是返回一个敲击次数,以便使用上面的电话键盘键入完整的字符串。
对于不熟悉此功能的人,以下是它的工作原理:
2
例如,带有数字的键也记录有字符串abc
。要键入a
,必须按一次此键,因为b
必须按两次,并且c
必须按三次。对于同一键上的连续字母,必须等待1秒钟再按一次。因此,如果要键入
cb
,则必须按3次c
,等待一秒钟,然后按两次b
,因此仍需点击5次。除一个空格仅需按1 次外,其他所有键也是如此。另请注意,键
7
和上9
有四个字母。应用相同的算法,唯一的区别是字母数。可以在上图(但小写)或以下列表中找到与每个键对应的字符串,其中包含您可能会收到的所有字符:"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
测试用例
输入->输出(说明) “”-> 0(不要轻敲) “ water”-> 8(“ w,a,t”分别需要敲击1次(在键9、2和8上),“ e”需要2次敲击(在3号键上),“ r”需要3次敲击(在7号键上) ),1 + 1 + 1 + 2 + 3 = 8) “肥皂”-> 9(4 + 3 + 1 + 1) “坎德拉”-> 13(3 + 1 + 2 + 1 + 2 + 3 + 1) “代码高尔夫”-> 20(3 + 3 + 1 + 2 + 1(用于空格)+ 1 + 3 + 3 + 3) “山丘之王”-> 33(2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 2 + 2 + 1 + 2 + 3 + 3 + 3)
眼镜
适用标准I / O规则和默认漏洞。
您只能以您的语言的本机String类型进行输入。输出可以是整数,也可以是该整数的字符串表示形式。
这是代码高尔夫,是每种语言中最短的答案。