Dato un input di una stringa costituita interamente da q
s che rappresentano le note da un quarto e e
s che rappresentano le note da un quarto, producono gli indici delle note da un quarto sincronizzate.
La sincronizzazione è complessa, ma ai fini di questa sfida, la nostra definizione di "sincopato" sarà molto semplice: una nota da un quarto che inizia sul "fuori battito", ovvero i battiti contati come "e" in n / 4 tempo.
In alternativa, questo può essere definito come qualsiasi nota da un quarto preceduta da un numero dispari di ottava nota. Ad esempio, le note contrassegnate con *
sotto sono considerate sincopate e anche i loro indici sono mostrati:
eqqeqqeqqe
** **
12 78
Output: 1 2 7 8
L'input consisterà sempre in un numero intero di misure in 4/4 volte (una nota da un quarto è un quarto di misura e un'ottava nota è un ottavo di misura). (Anche l'input non sarà mai vuoto.) L'output può essere una singola stringa con elementi separati da qualsiasi delimitatore che non contiene numeri o un array / elenco / ecc. L'output può essere basato su 1 (ovvero, se lo si desidera, il primo indice è 1 anziché 0) e può anche trovarsi in qualsiasi base numerica (unaria, decimale, ecc.).
Dato che si tratta di code-golf , vince il codice più breve in byte.
Casi test:
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'
anzichéeqqqe