Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. defmodule Runlength do
  2. def encode(<< first :: binary-size(1) , rest :: binary>>) do
  3. encode({first, 1}, rest, "")
  4. end
  5.  
  6. def encode({letter, count}, << letter :: binary-size(1) , rest :: binary>>, result) do
  7. encode({letter, count + 1}, rest, result)
  8. end
  9. def encode({letter, count}, << diff :: binary-size(1) , rest :: binary>>, result) do
  10. result = result <> to_string(count) <> letter
  11. encode({diff, 1}, rest, result)
  12. end
  13.  
  14. def encode({letter, count}, <<>>, result) do
  15. result <> to_string(count) <> letter
  16. end
  17. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement