DEV Community

Discussion on: Daily Challenge #195 - No Zeroes for Heroes

Collapse
 
savagepixie profile image
SavagePixie

Elixir

Elixir with recursion:

def dezerofy(0), do: 0
def dezerofy(n), do: _dezerofy(n, rem(n, 10))
defp _dezerofy(n, 0), do: _dezerofy(div(n, 10), rem(n, 100))
defp _dezerofy(n, _), do: n

Elixir without recursion, inspired by @avalander 's solution:

def dezerofy(0), do: 0
def dezerofy(n), do: n
  |> Integer.digits
  |> Enum.reverse
  |> Enum.drop_while(&(&1 == 0))
  |> Enum.reverse
  |> Integer.undigits