ASCIIアートを表す文字列を入力として受け取り、入力のエンドポイントの数を出力または返すプログラムまたは関数を作成する必要があります。
入力は、文字space - | +
(それぞれ0、2、2、および4つのエンドポイントを持つ)と改行で構成されます。例えば:
-|++-
+
隣接する2つのキャラクターは接続されているため、次の場合にはそれぞれ1つのエンドポイントが失われます。
-- -+ +- | | + + ++
| + | +
最初の例は
2+2+2+2+1+
3 = 12
エンドポイント。
入力
- 入力文字のスペースからなる文字列になります
-
、|
、+
および改行。 - 入力の長さは0の長さにすることができ、上記の説明に一致する入力はすべて有効です(正規表現入力では
[ -+|\n]*
)。 - 末尾の改行はオプションです。
出力
- 単一の非負整数、エンドポイントの数。
例
出力は、入力の最後の行の後です。
+
4
-|++-
+
12
+--+
| |
+--+
8
| |
+--+-- |||
12
--++
|||--
10
<empty input>
0
|
|
2
--
++--
++
--+
+++ ||
----
30
これはコードゴルフなので、最短のエントリーが勝ちます。
["",...s.split("\n"),""]
@ETHproductions