ほぼ6年前、仲間のPPCGメンバーsteenslag は次の課題を投稿しました。
標準のサイコロ(ダイス)では、反対側の面が7になるように番号が配置されます。ランダムスローに続いて9回のランダムチップを出力する、可能な言語で最短のプログラムを記述します。チップはサイコロの4分の1回転です。たとえば、サイコロが5に面している場合、すべての可能なチップは1,3,4および6です。
望ましい出力の例:
1532131356
だから、今では誰もがそれを完全に忘れており、勝者の答えは長い間受け入れられてきたので、提出されたソリューションによって生成されたダイチップシーケンスを検証するプログラムを書くことになります。(これは理にかなっています。そうするふりをしてください。)
チャレンジ
あなたのプログラムや関数は このようなシーケンスを与えています1532131356
。連続する各桁が以下であることを検証します。
- 前の数字と等しくない
- 7から前の数字を引いたものと等しくない
(最初の数字を検証する必要はありません。)
ルール
- プログラムは、入力が有効な場合は真実の値を返し、そうでない場合は偽の値を返す必要があります。
- 入力は1〜6の数字のみで構成され、少なくとも1文字の長さであると想定できます。シーケンスは、steenslagのチャレンジのように固定長になりません。
- 入力は、文字列(
"324324"
)、配列または配列のようなデータ構造([1,3,5]
)、または複数の引数(yourFunction(1,2,4)
)として受け取ることができます。
テストケース
真実の
1353531414
3132124215
4142124136
46
4264626313135414154
6
2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323
5414142
偽り
繰り返し数字
11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411
ダイの反対側
16 42123523545426464236231321 61362462636351 62362462636361