q
四分音符をe
表すsと8 分音符を表すs のみで構成される文字列の入力が与えられると、シンコペーションされる四分音符のインデックスを出力します。
シンコペーションは複雑ですが、この課題のために、「シンコペート」の定義は非常に単純です。つまり、「オフビート」で始まる4分音符、つまりn / 4で「and」としてカウントされるビートです。時間。
あるいは、奇数の8分音符が先行する4分音符として定義することもできます。たとえば、*
以下のマークが付いたノートはシンコペートされていると見なされ、そのインデックスも表示されます。
eqqeqqeqqe
** **
12 78
Output: 1 2 7 8
入力は、常に4/4時間の整数の小節から構成されます(4分音符は1小節の4分の1、8分音符は1小節の8分の1)。(入力も空になることはありません。)出力は、数字を含まない区切り文字または配列/リスト/などで区切られた要素を持つ単一の文字列にすることができます。出力は、必要に応じて1から始まる(つまり、最初のインデックスが0ではなく1)場合があり、任意の数値ベース(単項、十進など)になる場合もあります。
これはcode-golfであるため、バイト単位の最短コードが優先されます。
テストケース:
In Out
-----------------------------------------------
eqqqe 1 2 3
qeqeq 2
qqqeqqeeeeqeqeqeqqeqqeqq 4 5 10 14 19 20
eeeeeqeeqeeqqqqeqeqeeqe 5 8 11 12 13 14 18 21
qqqq <none>
eeeeeeee <none>
'eqqqe'
代わりにeqqqe