Powinieneś napisać program lub funkcję, która odbiera ciąg reprezentujący grafikę ASCII jako dane wejściowe i wyjściowe lub zwraca liczbę punktów końcowych na wejściu.
Dane wejściowe będą składały się ze znaków space - | +
(odpowiednio z 0, 2, 2 i 4 punktami końcowymi) i łamania linii. Na przykład:
-|++-
+
Dwie sąsiednie postacie są połączone i dlatego tracą 1 punkt końcowy w następujących przypadkach:
-- -+ +- | | + + ++
| + | +
Pierwszy przykład ma
2+2+2+2+1+
3 = 12
punkty końcowe.
Wejście
- Wejście będzie ciąg składający się z przestrzeni znaków,
-
,|
,+
i linią. - Długość wejściowa może wynosić 0, a każde wejście pasujące do powyższego opisu jest prawidłowe (w wyrażeniu regularnym jest
[ -+|\n]*
). - Końcowy znak nowej linii jest opcjonalny.
Wynik
- Pojedyncza nieujemna liczba całkowita, liczba punktów końcowych.
Przykłady
Wyjścia są za ostatnim wierszem ich danych wejściowych.
+
4
-|++-
+
12
+--+
| |
+--+
8
| |
+--+-- |||
12
--++
|||--
10
<empty input>
0
|
|
2
--
++--
++
--+
+++ ||
----
30
To jest golf golfowy, więc wygrywa najkrótszy wpis.
["",...s.split("\n"),""]
dłużej @ETHproductions