summaryrefslogtreecommitdiff
path: root/go/run-length-encoding/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'go/run-length-encoding/README.md')
-rw-r--r--go/run-length-encoding/README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/go/run-length-encoding/README.md b/go/run-length-encoding/README.md
new file mode 100644
index 0000000..c48d31f
--- /dev/null
+++ b/go/run-length-encoding/README.md
@@ -0,0 +1,50 @@
+# Run-Length Encoding
+
+Welcome to Run-Length Encoding on Exercism's Go Track.
+If you need help running the tests or submitting your code, check out `HELP.md`.
+
+## Instructions
+
+Implement run-length encoding and decoding.
+
+Run-length encoding (RLE) is a simple form of data compression, where runs
+(consecutive data elements) are replaced by just one data value and count.
+
+For example we can represent the original 53 characters with only 13.
+
+```text
+"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
+```
+
+RLE allows the original data to be perfectly reconstructed from
+the compressed data, which makes it a lossless data compression.
+
+```text
+"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
+```
+
+For simplicity, you can assume that the unencoded string will only contain
+the letters A through Z (either lower or upper case) and whitespace. This way
+data to be encoded will never contain any numbers and numbers inside data to
+be decoded always represent the count for the following character.
+
+## Source
+
+### Created by
+
+- @MatForsberg
+
+### Contributed to by
+
+- @bitfield
+- @ekingery
+- @ferhatelmas
+- @hilary
+- @ilmanzo
+- @leenipper
+- @sebito91
+- @eklatzer
+
+### Based on
+
+Wikipedia - https://en.wikipedia.org/wiki/Run-length_encoding \ No newline at end of file