De acordo com este site, uma regra geral recomendada pelo Manual de Estilo do Gabinete de Impressão do Governo dos EUA é
Coloque todas as palavras em maiúsculas em títulos de publicações e documentos, exceto a, an, the, at, by, for, in, of, on, to, up e and, as, but, or, and nor.
Isso pode não ser verdade, pois não consigo encontrar essa recomendação no Manual de estilo , mas vamos usar essa regra de qualquer maneira.
O desafio
Dada uma sequência de entrada que consiste em palavras em minúsculas delimitadas por espaços, produza a capitalização da sequência de acordo com as seguintes regras
- A primeira e a última palavra são maiúsculas.
- Todas as outras palavras são capitalizados, exceto um , um , o , a , por , para , em , de , em , para , se , e , como , mas , ou , e nem .
A sequência de entrada conterá pelo menos uma palavra e cada palavra conterá pelo menos uma letra e apenas caracteres de a
até z
.
Este é um desafio de código de golfe, portanto, tente usar o mínimo de bytes possível no idioma de sua escolha. Você pode escrever um programa completo ou uma função para realizar a tarefa.
Casos de teste
"the rule of thumb for title capitalization" -> "The Rule of Thumb for Title Capitalization"
"programming puzzles and code golf" -> "Programming Puzzles and Code Golf"
"the many uses of the letter a" -> "The Many Uses of the Letter A"
"title" -> "Title"
"and and and" -> "And and And"
"a an and as at but by for in nor of on or the to up" -> "A an and as at but by for in nor of on or the to Up"
"on computable numbers with an application to the entscheidungsproblem" -> "On Computable Numbers With an Application to the Entscheidungsproblem"