Étant donné une entrée de deux chaînes avec des séquences de soulignements représentant les mots correspondants, sortez les phrases avec les «blancs» remplis.
La meilleure façon de décrire ce défi est par l'exemple. Voici un exemple d'entrée:
programming _____________ and code golf
programming puzzles ______ code ____
Et voici la sortie correspondante:
programming ___puzzles___ and code golf
programming puzzles _and__ code golf
Aux fins de ce défi, un «mot» est défini comme une séquence d'une ou plusieurs lettres minuscules, et un «blanc» est défini comme un ou plusieurs traits de soulignement (l'entrée ne contiendra toujours que des lettres minuscules, des espaces et des traits de soulignement) . Les mots et les blancs dans les chaînes d'entrée sont séparés par des espaces simples, et la somme du nombre de mots et de blancs dans les phrases sera toujours égale.
L'objectif du défi est de remplir tous les blancs avec les mots corrects , qui sont les mots qui occupent le même index dans l'autre chaîne lorsqu'ils sont divisés par des espaces.
Le mot doit être centré dans le blanc, comme indiqué avec le mot «puzzles» dans l'exemple ci-dessus - un nombre égal de traits de soulignement reste de chaque côté.
Si le mot ne peut pas être exactement centré, le trait de soulignement supplémentaire peut aller à gauche ou à droite (ex. Le mot "et" dans l'exemple ci-dessus).
Il y aura toujours suffisamment de soulignements pour que le mot tienne, mais il peut y en avoir exactement autant que la longueur du mot (ex. Le mot "golf" dans l'exemple ci-dessus).
Il n'y aura jamais de blanc dans la même position dans les deux chaînes.
Les entrées / sorties peuvent être l'une des suivantes (les entrées / sorties ne doivent pas nécessairement être via la même méthode):
chaîne unique séparée par un caractère non alphabétique, un espace ou un trait de soulignement (par exemple, une nouvelle ligne ou une chaîne séparée par des virgules)
un tableau / liste / etc. de deux cordes
deux arguments de ligne de fonction / commande (entrée uniquement)
Puisqu'il s'agit de code-golf , le code le plus court en octets gagnera.
L'exemple ci-dessus peut être utilisé comme cas de test. Voici un cas de test plus grand (la deuxième chaîne en sortie peut varier légèrement en raison du comportement de centrage différent):
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