Dato un input di due stringhe con sequenze di caratteri di sottolineatura che rappresentano le parole corrispondenti, emette le frasi con gli "spazi vuoti" riempiti.
Il modo migliore per descrivere questa sfida è l'esempio. Ecco un esempio di input:
programming _____________ and code golf
programming puzzles ______ code ____
Ed ecco l'output corrispondente:
programming ___puzzles___ and code golf
programming puzzles _and__ code golf
Ai fini di questa sfida, una "parola" è definita come una sequenza di una o più lettere minuscole e uno "spazio" è definito come uno o più caratteri di sottolineatura (l'input conterrà sempre solo lettere minuscole, spazi e caratteri di sottolineatura) . Le parole e gli spazi vuoti nelle stringhe di input sono separati da spazi singoli e la somma del numero di parole e spazi vuoti nelle frasi sarà sempre uguale.
L'obiettivo della sfida è riempire tutti gli spazi vuoti con le parole corrette , che sono le parole che occupano lo stesso indice nell'altra stringa quando vengono divise per spazi.
La parola deve essere centrata nello spazio vuoto, come mostrato con la parola "puzzle" nell'esempio sopra: un numero uguale di caratteri di sottolineatura rimane su entrambi i lati.
Se la parola non può essere esattamente centrata, il carattere di sottolineatura aggiuntivo può andare a sinistra oa destra (es. La parola "e" nell'esempio sopra).
Ci saranno sempre abbastanza caratteri di sottolineatura per adattarsi alla parola, ma potrebbero esserci esattamente tanti quanti la lunghezza della parola (es. La parola "golf" nell'esempio sopra).
Non ci sarà mai uno spazio vuoto nella stessa posizione in entrambe le stringhe.
Input / output può essere uno dei seguenti (input / output non devono necessariamente essere tramite lo stesso metodo):
stringa singola separata da qualsiasi carattere che non sia alfabetico, uno spazio o un carattere di sottolineatura (es. newline o stringa separata da virgola)
un array / elenco / ecc. di due stringhe
due argomenti della riga di comando / funzione (solo input)
Poiché si tratta di code-golf , vincerà il codice più breve in byte.
L'esempio sopra può essere usato come test case. Ecco un caso di test più ampio (la seconda stringa in output può variare leggermente a causa del diverso comportamento di centraggio):
lorem _____ dolor _____ amet _______________ adipiscing elit mauris dapibus tincidunt _____________________________ accumsan fringilla proin vulputate viverra lorem fermentum dictum
lorem ipsum ______ sit _______ consectetur _______________ elit mauris dapibus tincidunt metus accumsan fringilla proin vulputate viverra lorem ____________________________ dictum
lorem ipsum dolor _sit_ amet __consectetur__ adipiscing elit mauris dapibus tincidunt ____________metus____________ accumsan fringilla proin vulputate viverra lorem fermentum dictum
lorem ipsum dolor_ sit _amet__ consectetur __adipiscing___ elit mauris dapibus tincidunt metus accumsan fringilla proin vulputate viverra lorem _________fermentum__________ dictum