Debe escribir un programa o función que reciba una cadena que represente un arte ASCII como entrada y salidas o devuelva el número de puntos finales en la entrada.
La entrada consistirá en los caracteres space - | +
(con 0, 2, 2 y 4 puntos finales respectivamente) y saltos de línea. P.ej:
-|++-
+
Dos caracteres adyacentes están conectados y, por lo tanto, pierden 1 punto final cada uno en los siguientes casos:
-- -+ +- | | + + ++
| + | +
El primer ejemplo tiene
2+2+2+2+1+
3 = 12
puntos finales
Entrada
- De entrada será una cadena formada por los caracteres espacio,
-
,|
,+
y la nueva línea. - La longitud de entrada puede ser de 0 y cualquier entrada que coincida con la descripción anterior es válida (en regex, la entrada es
[ -+|\n]*
). - La nueva línea final es opcional.
Salida
- Un solo entero no negativo, el número de puntos finales.
Ejemplos
Las salidas son posteriores a la última fila de sus entradas.
+
4
-|++-
+
12
+--+
| |
+--+
8
| |
+--+-- |||
12
--++
|||--
10
<empty input>
0
|
|
2
--
++--
++
--+
+++ ||
----
30
Este es el código de golf, por lo que gana la entrada más corta.
["",...s.split("\n"),""]
más tiempo @ETHproductions