Você deve escrever um programa ou função que receba uma sequência representando uma arte ASCII como entrada e saída ou retorne o número de terminais na entrada.
A entrada será composta pelos caracteres space - | +
(com 0, 2, 2 e 4 pontos de extremidade, respectivamente) e quebras de linha. Por exemplo:
-|++-
+
Dois caracteres adjacentes estão conectados e, portanto, perdem 1 ponto de extremidade cada um nos seguintes casos:
-- -+ +- | | + + ++
| + | +
O primeiro exemplo tem
2+2+2+2+1+
3 = 12
pontos finais.
Entrada
- Entrada será uma string que consiste no espaço caracteres,
-
,|
,+
e de nova linha. - O comprimento da entrada pode ser 0 e qualquer entrada correspondente à descrição acima é válida (na entrada regex é
[ -+|\n]*
). - A nova linha à direita é opcional.
Resultado
- Um único inteiro não negativo, o número de terminais.
Exemplos
As saídas estão após a última linha de suas entradas.
+
4
-|++-
+
12
+--+
| |
+--+
8
| |
+--+-- |||
12
--++
|||--
10
<empty input>
0
|
|
2
--
++--
++
--+
+++ ||
----
30
Este é o código de golfe, portanto a entrada mais curta vence.
["",...s.split("\n"),""]
isso por mais tempo @ETHproductions