以下は、単純なASCIIアートルビーです。
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
ASCII Gemstone Corporationの宝石商としての仕事は、新しく取得したルビーを検査し、発見した欠陥についてメモを残すことです。
幸いなことに、可能な欠陥は12種類のみであり、サプライヤはルビーに複数の欠陥がないことを保証しています。
12の欠陥12内の一つの置換に対応する_
、/
または\
空白文字(とルビの文字)。ルビーの外周に欠陥はありません。
欠陥は、どの内部キャラクターがその場所にスペースを持っているかに応じて番号が付けられます。
したがって、欠陥1のルビーは次のようになります。
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
欠陥11のルビーは次のようになります。
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
他のすべての欠陥についても同じ考えです。
チャレンジ
欠陥の可能性のある単一のルビーの文字列を取り込むプログラムまたは関数を作成します。欠陥番号を印刷するか返送してください。欠陥がない場合、欠陥番号は0です。
テキストファイル、標準入力、または文字列関数の引数から入力を取得します。欠陥番号を返すか、標準出力に出力します。
あなたはルビーの末尾に改行があると仮定するかもしれません。後続のスペースや先頭の改行があるとは思わないかもしれません。
バイト単位の最短コードが優先されます。(便利なバイトカウンター。)
テストケース
ルビーの正確な13種類と、それに続く予想される出力:
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
0
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
1
___
/\ /\
/_/ \_\
\ \_/ /
\/_\/
2
___
/\_/\
/_ \_\
\ \_/ /
\/_\/
3
___
/\_/\
/_/ \_\
\ _/ /
\/_\/
4
___
/\_/\
/_/ \_\
\ \ / /
\/_\/
5
___
/\_/\
/_/ \_\
\ \_ /
\/_\/
6
___
/\_/\
/_/ \ \
\ \_/ /
\/_\/
7
___
/\_ \
/_/ \_\
\ \_/ /
\/_\/
8
___
/ _/\
/_/ \_\
\ \_/ /
\/_\/
9
___
/\_/\
/ / \_\
\ \_/ /
\/_\/
10
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
11
___
/\_/\
/_/ \_\
\ \_/ /
\/_ /
12