Dada a entrada de duas strings com seqüências de sublinhados representando as palavras correspondentes, imprima as frases com os "espaços em branco" preenchidos.
A melhor maneira de descrever esse desafio é pelo exemplo. Aqui está um exemplo de entrada:
programming _____________ and code golf
programming puzzles ______ code ____
E aqui está a saída correspondente:
programming ___puzzles___ and code golf
programming puzzles _and__ code golf
Para os fins deste desafio, uma "palavra" é definida como uma sequência de uma ou mais letras minúsculas e um "em branco" é definido como um ou mais sublinhados (a entrada sempre conterá apenas letras minúsculas, espaços e sublinhados) . Palavras e espaços em branco nas cadeias de entrada são separados por espaços únicos, e a soma do número de palavras e espaços em branco nas frases sempre será igual.
O objetivo do desafio é preencher todos os espaços em branco com as palavras corretas , que são as que ocupam o mesmo índice na outra sequência quando divididas por espaços.
A palavra deve estar centralizada em branco, conforme mostrado com a palavra "quebra-cabeças" no exemplo acima - um número igual de sublinhados permanece em ambos os lados.
Se a palavra não puder ser exatamente centralizada, o sublinhado extra poderá ficar à esquerda ou à direita (por exemplo, a palavra "e" no exemplo acima).
Sempre haverá sublinhados suficientes para a palavra caber, mas pode haver exatamente o tamanho da palavra (por exemplo, a palavra "golfe" no exemplo acima).
Nunca haverá um espaço em branco na mesma posição nas duas cadeias.
Entrada / saída pode ser uma das seguintes opções (entrada / saída não precisa necessariamente ser pelo mesmo método):
sequência única separada por qualquer caractere que não seja alfabético, espaço ou sublinhado (por exemplo, sequência separada por nova linha ou vírgula)
uma matriz / lista / etc. de duas cordas
dois argumentos de função / linha de comando (apenas entrada)
Como esse é o código-golfe , o código mais curto em bytes será vencedor.
O exemplo acima pode ser usado como um caso de teste. Aqui está um caso de teste maior (a segunda sequência na saída pode variar um pouco devido ao comportamento de centralização diferente):
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