RosettaCodeData/Task/Run-length-encoding/Mathematica/run-length-encoding-1.math
Ingy döt Net b83f433714 tasks a-s
2013-04-10 23:57:08 -07:00

2 lines
293 B
Text

RunLengthEncode[input_String]:=StringJoin@@Sequence@@@({ToString @Length[#],First[#]}&/@Split[Characters[input]])
RunLengthDecode[input_String]:=StringJoin@@ConstantArray@@@Reverse/@Partition[(Characters[input]/.(ToString[#]->#&/@Range[0,9]))//.{x___,i_Integer,j_Integer,y___}:>{x,10i+j,y},2]