De acuerdo con este sitio, una regla general recomendada por el Manual de Estilo de la Oficina de Imprenta del Gobierno de EE. UU. Es
Ponga en mayúscula todas las palabras en títulos de publicaciones y documentos, excepto a, an, the, at, by, for, in, of, on, up, and, as, but, or, and nor.
Esto podría no ser cierto ya que no puedo encontrar una recomendación de este tipo en el Manual de estilo , pero usemos esta regla de todos modos.
El reto
Dada una cadena de entrada que consiste en palabras minúsculas delimitadas por espacios, genera la mayúscula de la cadena de acuerdo con las siguientes reglas
- La primera y última palabra está en mayúscula.
- Todas las demás palabras se capitalizan, excepto una , una , el , en , por , para , de , de , de , a , a , y , tal como , pero , o , y tampoco .
La cadena de entrada contendrá al menos una palabra y cada palabra contiene al menos una letra y solo caracteres de a
a z
.
Este es un desafío de código de golf, así que trate de usar la menor cantidad de bytes posible en el idioma que elija. Puede escribir un programa completo o una función para realizar la tarea.
Casos de prueba
"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"