Any programming language may be used. 1 point will be given if you pass all the test cases with 1 bonus point going to whoevers performs the quickest and 1 for whoever can get the least amount of characters
To submit put the code and the language you used below
@Andy@programming.dev - 0.053s - 359 chars (factor)
If you submitted in factor, ruby, cobol, etc. itll take me a bit longer to check since I havent set up running those yet. Should be soon
USING: kernel strings command-line namespaces math.parser sequences io ;
IN: l
: c ( s -- C )
"" swap
[ dup empty? not ] [
dup dup dup first '[ _ = not ] find drop
dup not [ drop length ] [ nip ] if
2dup tail
[ number>string [ first 1string ] dip append append ] dip
] while drop
;
MAIN: [ command-line get first c print ]
Benchmark using compiled binary:
$ hyperfine "./compress/compress aaabbhhhh33aaa"
Benchmark 1: ./compress/compress aaabbhhhh33aaa
Time (mean ± σ): 3.6 ms ± 0.4 ms [User: 1.4 ms, System: 2.2 ms]
Range (min … max): 3.0 ms … 6.0 ms 575 runs
Thanks! Yeah to use the optimized compiler to create a faster runnable binary, I've put instructions on the first challenge: https://programming.dev/comment/1980496