Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 1.23 KB

016-mayuscula.livemd

File metadata and controls

65 lines (48 loc) · 1.23 KB

16 - Mayúscula

EN MAYÚSCULA

Enunciado

Crea una función que reciba un String de cualquier tipo y se encargue de poner en mayúscula la primera letra de cada palabra.

  • No se pueden utilizar operaciones del lenguaje que lo resuelvan directamente.

Solución

defmodule Titlecase do
  def apply(string) do
    string
    |> String.split()
    |> Enum.map(fn word ->
      [first | rest] = String.graphemes(word)

      [String.upcase(first) | rest]
      |> Enum.join()
    end)
    |> Enum.join(" ")
  end
end
{:module, Titlecase, <<70, 79, 82, 49, 0, 0, 7, ...>>, {:apply, 1}}
defmodule Solution do
  def run(message) do
    Titlecase.apply(message)
  end
end
{:module, Solution, <<70, 79, 82, 49, 0, 0, 6, ...>>, {:run, 1}}
Solution.run("hola elixir, que bonito eres")
"Hola Elixir, Que Bonito Eres"