15

Python 3, 356, 302, 299 bytes import sys S,L,N="",input().split(),int("3EED3TD7OWRVC3DD9L9NKQY0NEADDU7704EYGXWLFF2PGCR6H6ET3DRODQ4O22XAAFV5KOSWET2D2CQZOMXRQWEO7I2US8FRU5Z2CU8D73B10GEG08YUJQPZND1978359JZOEUGKHT2HXO70Z6PK59T8RMY0BBRJ1D78AZEEYBWU4N7IW1TLUN57",36) while N:S,N=S+chr(97+L.index(sys.stdin.read((N&3)+1))),N>>2 print(S) Try it online! ...


9

C++, 2·62829 + 318786 = 444444 To run this program, you need this file here, which must be named C. The program uses the same combination of Markov models as in our earlier answer. As before, this combination is essentially the model from this answer by user2699, but with a few small modifications. Seeing as how this answer uses the exact same model as ...


9

APL (Dyalog Extended), 189 188 bytesSBCS Full program. Prompts for the Morse code. Doesn't need the library. Requires ⎕IO←0 ⌊⌂morse⍞⊂⍨∊1↑⍨¨1+4⊤'⍳÷+≠í⍀÷<í∧○Ñ>å/∧∨êî∘ß∧äñ⍀○≠è[*⌷∨[î≠∇è⊂Øî⊃⍀[⌷Éäï\∘∧↑æ=íå⌿∧∨ëäÖ⌿ê/≤⌊∘[Å↓Öï○+Ü÷≥↓≤≥>⌷∘á⊃↑Ü⍳⊣[⌿-Ø↑ä/∧∧≠≠Ñíí+ßÜ+-○é↓↓≥≥×∧↑**⍨↑}∧⍨≥ç⍀∧}×⍀Àëç⍀Ø⍨∧∘[×/∘Å∧~≥○ëâ⊂å∨≥Àäè?'⍳⍨125↓⎕AV Try it online! ⎕AV the Atomic ...


7

Jelly, 138 135 bytes ḲiⱮ“Q®ḃƁ⁼ṇÑ1¿Ọɠ\ƥȥ⁼ṙ⁴EŀƥŒEæʋØ>þ>⁴þʋ[⁾Ƒ]eÞḍ8ß®ⱮȮø⁹ç÷R?g®=,¥ėµ@ØU~"/Xçq®ÆƬ°ɠsṭṭ?dC#Ċ?gѶPÇH5p@ʂEœ⁹½G6ḌƘṪµɦ8€(S¦Ḥ⁸ṫ"ḟḢlṾ¦ƤḃƭẊ@’ḃ4$ÄṬk⁹¤ịØa Try it online! A dyadic link taking the library as the left argument and the Morse code input as the right argument. Returns a Jelly string of the lyrics. The long integer that takes the ...


7

APL (Dyalog) + dfns + Jelly's dictionary, 181 175 (172🐌) bytesSBCS Full program. Requires ⎕IO←0 and ⎕AV redefinition. Doesn't use the challenge's Morse code library. M←∊∘morse¨D⋄C←∊(7⍴51)⊤246⊥5 17⍴¯7+⎕AV⍳'k%aÏ⍵FþfÅ⍵ìÆ⌶á≥å3¶cÒ⍺\ujü─⍳%S⊣ì⍙ÒÛÙ3Ùp`Ø,hÇñ⊂┴Ö⍪l∪⍒i1⍵Í:-îà⌽ì≥3€ã(⍝S]ÁGXræ∇O7Uæî' C↓⍨←≢i↓⍨←≢M⊃⍨w←(⊃C)⌷∊(⍸M⍷⍨⊂)¨⌽,\24↑i ⍞←819⌶w⊃D →2 Try it online! - ...


5

Python, 487 bytes lambda a,b:'...


5

JavaScript (Node.js), score =  586 541 503 492  479 bytes The walls are stored as a Huffman-encoded stream of bits describing whether a prediction function is returning the correct guess or not. The special characters are stored as \$(d, c)\$, where \$d\$ is the distance from the previous special character and \$c\$ is the ASCII code. Try it ...


4

Wolfram Language 68 bytes I am uncertain whether this satisfies the requirements. This uses a built-in function named CountryData. Wolfram Language knows the areas of all the countries in the world, so it's simply a matter of determining those countries in which the area falls within the given interval. c=CountryData;Cases[c@"Countries",x_/;(a=c[x,"Area"...


4

Node.js,  1170  1164 bytes Takes input as (a)(b). a=>b=>eval(require('zlib').inflateSync(Buffer.from('eNpFU8uS6jYQ/RVWyUzdU7cwmNeC2d9vSKUybattC9uSkeQh5utzZCbJBij147yaz0qdddBgU1DBKIM8LJwPqdv0Pj85W0uQdha0QbVWJLnZ3sYkDk4nGVCJawcxGjuk2dloBXEO1smomMPM0QW1jJU3ubKE/KlOW472S2iXJyodJMwR7byIEwziI4IfxbG17fLT3Ioz/HI2qdn01rXGj+y3jhS1nsX4gFYqn0k9Nk+...


4

Brainfuck, 4201 bytes compressed. Image format used is PNG. I'm pretty sure the challenge is over because I'm leaving 4 instances modified script overnight. Explaination So how does it work? Using a Java program I'm generating a JPG file. Then, it's compressed and it's size is being checked prompting me shall I keep it. I ran this script for a while and ...


4

0.9514747859 (4204-byte output) Note: the image above is not the actual file I used, but it is the image. Here is a hexdump of the file: https://gist.github.com/pommicket/cf2982e8ecf09a4de89d3a849526c64b The file is in the netpbm format, and can be generated with this C code: #include <stdio.h> #include <stdlib.h> int main(int argc, char **...


4

R, score 668 bytes This takes advantage of the fact that the wall character is determined by its surroundings. As such, wall characters can be encoded as bits. The remaining info that needs to be stored are the dimensions of the maze, the positions of the start and finish and the positions of any other non-wall characters. Since the non-wall characters are ...


3

Charcoal, 145 141 bytes ≔⪪⮌θ¹θF”)“1§μX↶)⟧¶»-↘3ω◧i⌊⊞⁸Q9m;T›|LDμ…›O⦄hTYIO5x÷↶׋,⟲"yMLUCgq.BNE2⁴⎇c⬤χN±⸿↙&7⟧χ⁰‹Ys´ΣC⁼{9ω�Pi&◧êKσPDfY9wi⟲f[Φτ³J‹‴V[^WREαF[-T^ς”§β⌕⪪η ⭆⊕ι⊟θ Try it online! Link is to verbose version of code. Edit: Saved 3 4 bytes by using a less inconvenient library format. (Thanks to @Deadcode for pointing out that I'd pasted in the wrong version....


3

Perl 5, 283 244 bytes $s=<>;$s=~s/..{$_}//+print$s=~/(.) \Q$& / for map{vec unpack('u',q{MJZDYEM98;HWE31N4>Y9:6'Y,BZYRSZ1<JI2@]ZH_(Z8H)7@V[G5*V2NC&:NZM3':XVCLCHY2@(IY>WE\5,L<XK*K^6U5+"5K(9*S^)B5CT07:JK_Q:HINCL:J=23LYEL.T,E*".U[)[`HJQ@ZJ/R.F*"6XOJK5B0X`}),$_,2}0..473 Try it online! This corresponds to: $L = <<''; ...


3

05AB1E, 149 131 129 bytes •Nα0Ω¤èGë™jƒć› Ù¾₂¶É¨=Yàf§ì[ðEÎλ`÷¡2Ä|~āΔí¹–4₂≠āó3Tv₁‰[Öò‚S»‰CþEηFA‡γ÷¯¿Þ₃âÖ.³εûV^ÕÜ₄Ú¹þ‘ΘVÅÍÅΘΛ9m|\Ó8g8ì&ÓiUΩÎQ:ǺZÎgöæ•4в>£I#A‡ -18 bytes thanks to @Deadcode. -2 bytes thanks to @Grimmy. Uses the complete morse-string as first input, and the lookup format as second input. Try it online. (Outputs as a list of characters, ...


3

MATLAB R2016a, 290 285 277 266 245 223 219 bytes (99+119+1) function r(m,d);[a,b]=ismember(mat2cell(m,1,fread(fopen('j'),474,'bit2')+3),strsplit(d));char(b+96) The inputs are the Morse code sequence m and the dictionary d in the third format. The function uses a 119-byte file j available here that contains the lengths of the 474 Morse codewords. According ...


3

Brachylog, 8 bytes ¬(⊇pa₀ᵈ) Try it online! Outputs through predicate success/failure. Takes more than 60 seconds on the last truthy test case ["111","010","000","1101","1010","1000","0111","0010","1011","0110","11001","00110","10011","11000","00111","10010"] but passes it quickly with an added byte which eliminates a large number of possibilities earlier ...


2

Perl 6, 24 bytes {.all.starts-with(.one)} Try it online! Wow, surprisingly short while using a long built-in. Explanation { } # Anonymous code block taking a list .all # Do all of the strings .starts-with( ) # Start with .one # Only one other string (i.e. itself)


2

Python 3, 1961 1579 1353 bytes lambda a,b:["india,argentina,kazakhstan,congo,algeria,saudi arabia,mexico,indonesia,sudan,libya,iran,mongolia,peru,chad,niger,angola,mali,south africa,colombia,ethiopia,bolivia,mauritania,egypt,tanzania,nigeria,venezuela,namibia,mozambique,pakistan,turkey,chile,zambia,myanmar,afghanistan,south sudan,somalia,central african ...


2

05AB1E, 845 726 724 bytes Ÿ•LˆB1?+β»,¦ïp,fpîÃUK„»L`l¢~Rζ₃f(–α9OÌHíÜ$;’*ʸšöÏG∞zW¦pƒ;₃øÅ^êà©Q₁¤ cΘ¥₄₃₁¾«ål5ó eù&AŠ×Y‡p3ΓòÔ¬Š|üÛT∊DìaM1Gæ³RùVòí¢ʒʒP,vζšƶ«Ƶ¹”jWL¦¹†Ãн‘ƶËθ±…KãÐΓ¼¿λ΋½ª%=KHÛá$çöα=ÍTćÒ¹∞ïkѧqγHšÎGêĆ[‹Î½žMcǝEØιœ₆λÔ#ζ₆Σγ’Ƶä"‚žlóƒβÀÙlƵ=αн#$½/Y€Š:¹! ÿFw91?ì3-ŸWuµ\ú‹µú1vPε»ã#º{ǝ¯¼¢vN=тLʒ”T³é¶ùÅγ¬ë‘/ОaÕÄ"Õ-Ý–°ǝ-β₆›*ŽBÂ₂₄q••17ò÷•вå.•1d|WÈ!ÝWàÁвZr¦h…...


2

1. Python 3.5, 1651 1458 1398 bytes Script takes two arguments. Lists are compressed using LZMA BZ2 zlib, encoded to Ascii85 and stored as two comment lines after fileheader. Script reads itself, decode and uncompress these lines. #!/usr/bin/python3 #GhO`I6%\,>%(lBO\a@"&E!__Y)$A-Ff<:j\Zp8G1Q=R\[aL$##cd[#Pij[XO8YuBARE6=2nKRD/).0>%g#JDN88bcljG2%`...


2

JavaScript (Node.js),  270  269 bytes Takes input as (string)(lookup), where lookup is in the 3rd format. s=>t=>(B=Buffer)("SNB6>B5>V]@a5U)McAQ>@a/;3bRD7;2?R:1P_Sb7K@22MHO5V?O:AWZPATRV4A/VBW[0K:1PJ`Q?Fg=-ZD46TRRgC=]:1P-ZLYRgN<Z@9?H^RfCdRQPC6BTR1U;6>64UZ0MHc`=ZTSH2.cHRg4JQP<*VfRB]1b").map(n=>[0,2,4].map(i=>o+=B([97+t....


2

Score with test 1: 38.6%, Score with test 2: 4.9% Compressor Jelly, 97 bytes ṡ2ṢŒɠżQƊ1ị>ɗƇ3NÞḣ8Ṫ€,‘ɼ$€Ẏœṣ;@W}ɗjƭƒ 7©ṛ⁸“i</*jpov”iⱮ’Ç31¡ “i</*jpov”iⱮḅ8b256,ÇĖF€LÞḢL;L};÷/$ʋ,ḷɗ Try it online! Decompressor Jelly, 44 bytes ḅ256ḃ8 ḣ3s2ṚṣḢ}©¥jƭƒṫ5µṛ®n8Ɗ¿‘ ḢĿị“i</*jpov” Try it online! Explanation Uses two different methods and picks the one ...


2

Python 3, 265 261 259 bytes Uses the same base-256-in-a-string data-encoding method as my other Python answer, but actually uses the Morse code input. Like many of the other answers, encodes the lengths of the 474 Morse codewords into 119 bytes using base 4. The Morse stage of the decoding is based on steviestickman's answer, with some further golfing. ...


2

Python 3 Caddy, interprets BrainF*** Score: \$\frac{38}{224}\approx0.17\$ (with newlines removed) Program E from textwrap import wrap x = input('Code: ') i = ['<', '>', '+', '-', '[', ']', '.', ','] o = '' for c in x: if c in i: o += str(i.index(c) + 1) if o: d = wrap(o, 6) d = [int(x) for x in d] o = '' for c in d: ...


1

///, 0.00116% Compressor (large test case) Decompressor (large test case) Compressor (small test case) Decompressor (small test case) Explanation: simple dictionary-based approach. The decompressor performs the same substitions as the compressor, but in reverse order. Note that both these programs take input by concatenating it into the source, as is ...


1

This code using standard Python libraries serves as a baseline for other advanced approaches. Here is the outcomes for common compression algorithms. Test case 0 Library Score gzip 50.000% bz2 64.912% lzma 87.719% Test case 1 Library Score gzip 3.908% bz2 2.968% lzma 3.826% PPMd 3.161% NOTE: The PPMd algorithm ...


1

Retina, 47.25% I know this is currently uninteresting, but this is still a WIP. Cheap algorithm to compress Malbolge programs. ooooooooo a oooooooo b ooooooo c oooooo d ooooo e oooo f ooo g j\* h jah k Decompressor: a ooooooooo b oooooooo c ooooooo d oooooo e ooooo f oooo g ooo h j\* k jah Explanation This simply shortens the source by replacing the o'...


1

R, 1656 bytes function(a,b)d$s[d$c>=a&d$c<=b];d=data.frame(strsplit("russia,canada,united states,china,brazil,australia,india,argentina,kazakhstan,congo,algeria,saudi arabia,mexico,indonesia,sudan,libya,iran,mongolia,peru,chad,niger,angola,mali,south africa,colombia,ethiopia,bolivia,mauritania,egypt,tanzania,nigeria,venezuela,namibia,mozambique,...


1

Jelly, 736 bytes “þṾṚSẸL£ỵƘhŀẠṗµA+QØḣœḢpṗżÐEn⁷ȦyẈ⁷g%v3ọṇ(Ƥd>OṾTṭAJẓṛṢƊƭḟ¢ẊȦ9c°ÐṄ5IqżQo⁾Ṣæṗʂ"OƥkpṙY!e}Q/ẆⱮṠyṄ0ØȥLYỊṃ~+æ+İbɠṇxƊƁjjtẓ?ạ5ỌżṆiⱮẆj/ȯ¬ẉ⁹Œ¿żÐX¥hẇyqJ~⁶Żḟ#1QJṗ¹n³H.ḋ(Ṣ^ỊẆKḲŒU[⁵6¢2ȯdG/⁼ṭḥİ!ƈ3ḤḳUıHṇlṄ⁽€ẆṠwẈƁḣḳµ!⁾³Ḋ¦Ṭḳ0ƈØʠ⁴æ?+Ịṙ4⁸8Żḅ| GḅɗṆĠKİb"ḃɲʠµY⁴ḟnỊẋ⁺V³ṚĖıknṠƊMeẓƬḌ⁺£©9⁴ȥøẓɦ&7ɱ_2ɠȷṂẋṚcṇṫḢ)MȮ¶I7ıṃ1LŻỌƊḞYrỴȦṠṣ3ḥ<Ƥ½’ḃ“¡æ⁽ż’e€³rƝḢ¤Tị“Ṇ¹...


Only top voted, non community-wiki answers of a minimum length are eligible