这里的大多数人都熟悉七段式显示器,它们也用于火柴拼图。下面是数字0通9和信件a通过z,除k,m,t,v,w,写在这个格式。
 _        _   _         _    _    _    _    _
| |   |   _|  _|  |_|  |_   |_     |  |_|  |_|
|_|   |  |_   _|    |   _|  |_|    |  |_|   _|
 _       _      _  _  _                        _   _      _               _
|_| |_  |   _| |_ |_ |   |_  |   | |   _   _  |_| |_|  _ |_      |_| |_|  _|
| | |_| |_ |_| |_ |  |_| | | | |_| |_ | | |_| |     | |   _| |_| | |   | |_
这里的挑战很简单。给定输入字符串,输出代表该字符串所需的火柴数量。如果字符串包含上述表示形式之外的字符,则将其忽略(将其计数为0)。
例如,对于输入53,总共10火柴是必需的,5用于5和5为3,所以输出10。
对于输入hello,总共19需要火柴h (4), e (5), l (3), l (3), o (4),所以输出为19。
为了清楚起见,以下是构建每个角色所需的火柴棍:
0 -> 6
1 -> 2
2 -> 5
3 -> 5
4 -> 4
5 -> 5
6 -> 6
7 -> 3
8 -> 7
9 -> 6
a -> 6
b -> 5
c -> 4
d -> 5
e -> 5
f -> 4
g -> 5
h -> 4
i -> 2
j -> 4
l -> 3
n -> 3
o -> 4
p -> 5
q -> 5
r -> 2
s -> 5
u -> 3
x -> 5
y -> 4
z -> 5
现在为转折,其中有两个。
- 首先是输入被认为是区分大小写的。也就是说,即使视觉表示看起来像是大写字母,A并且a两者都应计入6火柴棒A。
- 您的分数是通过此算法运行的源代码,加上源代码的长度(以字节为单位),越低越好。例如,如果您的源代码为abc123,则得分为6+5+4+2+5+5 = 27 + 6 = 33。如果您的源代码是#&@()*,您的分数将是0 + 6 = 6。
输入/输出示例
0    -> 6
53   -> 10
111  -> 6
112  -> 9
8888 -> 28
hello -> 19
PPCG  -> 19
Programming Puzzles & Code Golf -> 99
#&()mt!!~ -> 0
*DḌƤÆE%Ḅċ0 -> 16
规则
[0-9a-z],我们应该算上0个火柴吗?我从您的分数中了解到,您的源代码通过此算法运行,加上源代码的长度(以字节为单位)。
                
|_\n|_(小写t)