Ai fini di questa sfida, un polittongo è definito come una porzione contigua di una stringa, che contiene solo vocali e ha una lunghezza di almeno 2. Data una stringa non vuota come input, il tuo compito è quello di produrre tutti i polittonghi che contiene .
Ad esempio, "abeoic"ha le seguenti sezioni contigue (separate da spazio):
a b e o i c ab be eo oi ic abe beo eoi oic abeo beoi eoic abeoi beoic abeoic
Rimuovendo quelli che contengono qualcosa di diverso dalle vocali o che hanno una lunghezza inferiore a 2, otteniamo i polifonghi desiderati:
eo oi eoi
I tuoi invii devono rispettare le seguenti regole:
È possibile scegliere lettere minuscole o maiuscole per l'I / O, ma il caso di output deve corrispondere al caso di input.
Le vocali sono
aeiou(per le lettere minuscole) eAEIOU(per le lettere maiuscole).y/Ynon è considerata una vocale.L'input conterrà solo ASCII stampabile.
Se un polifago compare più volte, è possibile scegliere di emetterlo una sola volta o di emetterne tutte le occorrenze.
È consentito qualsiasi formato e metodo I / O ragionevole (anche gli elenchi di caratteri vanno bene, sia per l'input che per l'output).
Casi test
Ingresso -> Uscita (minuscolo) r67 ^^ () * 6536782! 87 -> [] puzzle di programmazione e code golf -> [] e ... ho vinto! -> ['aa', 'aa', 'aaa'] abeoic -> ['eo', 'oi', 'eoi'] yah eioo ala -> ['ei', 'io', 'oo', 'eio', 'ioo', 'eioo'] @yabeeeayio__e -> ['ee', 'ee', 'ea', 'io', 'eee', 'eea', 'eeea'] 0ioen0aaiosnjksd -> ['io', 'oe', 'aa', 'ai', 'io', 'ioe', 'aai', 'aio', 'aaio']
Si noti che per i casi di test 3 e 6, è possibile eseguire l'output 'aa'e 'ee'rispettivamente una sola volta (vedere la quarta regola).
Questo è code-golf , vince l'invio più breve in byte in ogni lingua!
'aa'appare due volte. È necessario emettere più volte la stessa stringa se appare in varie posizioni o si possono produrre solo polifongi unici?