28

SageMath, 260 255 253 247 246 241 236 234 233 231 bytes m=map f=lambda w:sum(vector(m(w.count,m(chr,(65..90))))*(matrix(26,m([sum(ZZ([*m(ord,'v8^x$ 2??&:#Jd;2Nv&=4-wB/yY$4I"o^_bufTTZ fn"U(J1W:ZRYG=/p,ZTRn[RHJA$jbGn-ul2zeVJ')],92).digits(27)[:i])for i in(0..111)].count,(0..675)))+1)^100) This constructs the transition matrix [2 1 1 1 0 0 0 ...


12

Japt, 53 bytes I/O as an array of words. I wasn't able to run all the test cases 'cause trying to format the input for them all on my phone got to be infuriating. n`CcJOoSsUabD¸fGghjLlnPpQqrTtuVvXxyABFHIiKkNRYZzEMmWw Try it (header splits input strings on spaces)


9

R, 260 259 236 235 232 bytes Edit: -3 bytes thanks to Robin Ryder, and -23 bytes using a version of Arnauld's trick of dropping the first letter of each word a=scan(,'') lfa ravo harlie elta cho oxtrot olf otel ndia uliett ilo ima ike ovember scar apa uebec omeo ierra ango niform ictor hiskey ray ankee ulu v=!!1:26 f=function(w)sum(v[utf8ToInt(w)-96])%%2^...


9

Julia, 223 218 bytes actually finishes by storing already computed values in a dictionnary function name is >, for example >("MOUSE") t=Dict() >(s,n=99)=sum(big(get!(()->n<0||x*split("LFA RAVO HARLIE ELTA CHO OXTROT OLF OTEL NDIA ULIETT ILO IMA IKE OVEMBER SCAR APA UEBEC OMEO IERRA ANGO NIFORM ICTOR HISKEY RAY ANKEE ULU")[...


9

BQN, 1 byte Anonymous tacit infix function. Order of arguments doesn't matter. + Try BQN!


7

Jelly, 38 bytes “EḂ 2JḶ]{⁵+cUBẋ÷ỌṫƇÆ⁷ɗ"CỵƊ¢Ṁċ’œ?ØẠ¤w)Þ Try it online! Verify all test cases A monadic link that accepts and returns a list of words. Explanation “...’œ?ØẠ¤w)Þ Main monadic link Þ Sort by ) Map [over each letter in a given word] w Find index of subsequence in ¤ ( “...’ ...


6

JavaScript (Node.js),  163 161 156  154 bytes _=>(c=96,i=20,g=n=>n?String.fromCharCode(c+=n&1n?1:1-~[...'10'+2e7,139,,108,6,34,45,6,7,,104][i--])+g(n/2n):'βθχᶑⱱ')(0x26affdebbffd7f5ff009ffffbfn) Try it online! How? The characters are ordered from lowest to highest code point. Each 1 in the BigInt bit mask 0x26affdebbffd7f5ff009ffffbfn means that ...


6

International Phonetic Esoteric Language, 110 bytes Felt my esolang was appropriate for this. Naïve approach. Pushes the characters as a string onto the stack, then prints with a newline: "mɱnɳɲŋɴpbtdʈɖcɟkɡqɢʡʔszʃʒʂʐɕʑɸβfvθðçʝxɣχʁħʕhʋɹɻjɰⱱɾɽʙrʀʜʢɬɮlɭʎʟɺǃʘǁɓɗᶑʄɠʛɧɥʍwɫiyɨʉɯuɪʏʊeøɘɵɤoəɛœɜɞʌɔæɐaɶäɑɒ"o Less naïve approach involving loops, 239 bytes. {...


6

Perl 5 -a, 104 100 bytes @NahuelFouilleul saved 4 bytes sub t{pop=~y/CcJOoSsUabDdefGghjLlnPpQqrTtuVvXxyABFHIiKkNRYZzEMmWw/A-z/r}say for sort{t($a)cmp t$b}@F Try it online!


6

Charcoal, 133 130 bytes F¹⁰⁰≔E⪪”$±DuaB``IY″²÷⸿↓⪪∧⮌9Pπx¦⸿S1lJ|#←¹Fι´³As¦L₂≕⬤m⍘M▶⭆dω{ⅈ⊟C0cO\⟦;⊟⁼`→<¬UPνρL⊖¦N↷jOh⧴0r↨J9α➙n\²`⟧JξUL≕φ5u”¶ΣEκ∨¬ι§θ⌕αμθIΣES§θ⌕αι Try it online! Link is to verbose version of code. Explanation: F¹⁰⁰ Loop 100 times. ≔E⪪”...”¶ΣEκ∨¬ι§θ⌕αμθ Calculate the cost of each letter in each word of the NATO phonetic alphabet using 1 on the ...


6

05AB1E, 93 86 bytes Takes input in lowercase. -7 bytes thanks to Kevin Cruijssen!! тFA.•_7R₆"9~úCĆ~'ÍΩ₃M¿jŽ×Øûå…{×}ζ¥ny†–År{è˜dÉ4sK%<0•“ÿ¼¯¤œ®ÈŠˆƒ‹Š™—……ÍЗ¼°µ†¸šÉµ“#{‡]g Try it online! with 7 iterations. Commented: # implicit input: the starting word т # push 100 F ] # loop that many times: A ...


6

Perl 5, 279 222 bytes sub f{my($c,$_,$n)=(0,@_,100);$c+=$d{$_,$n}//=$n<1||f($_.(LFA,RAVO,HARLIE,ELTA,CHO,OXTROT,OLF,OTEL,NDIA,ULIETT,ILO,IMA,IKE,OVEMBER,SCAR,APA,UEBEC,OMEO,IERRA,ANGO,NIFORM,ICTOR,HISKEY,RAY,ANKEE,ULU)[-65+ord],$n-1)for/./g;$c} Try it online! ...which is a translation of the Julia answer from @MarcMush My own approach was 279 bytes: Try ...


5

Charcoal, 82 71 68 66 62 bytes ⁻βg⭆⪪”)¶←@8⊘Φ@◧%↘Z⪪ξρ”³℅Iι⭆⌕A”)∧←₂⁰Y⟧Gψ⊟∧⬤º”1℅⁺⁵⁹²ι”yβθχᶑⱱ Try it online! Link is to verbose version of code (yay!). Explanation: ⁻βg Output all of the lowercase letters except g. ⭆⪪”)¶←@8⊘Φ@◧%↘Z⪪ξρ”³℅Iι Split the compressed string 228230231240248295331339449451 into 3-digit numbers and convert the code points into ...


5

R, 159 134 125 bytes icuSetCollate(locale="ASCII");s=scan(,"");s[order(chartr("CcJOoSsUabDdefGghjLlnPpQqrTtuVvXxyABFHIiKkNRYZzEMmWw","A-Za-z",s))] Try it online! Thanks to Dominic van Essen for -7 bytes. Similar to others, translate the characters in the string using chartr into an appropriate order, then sort the ...


5

Python 3, 107 101 99 bytes Saved 6 8 bytes (and got below 100!) thanks to ovs!!! lambda s:s.sort(key=lambda k:[*map("CcJOoSsUabDdefGghjLlnPpQqrTtuVvXxyABFHIiKkNRYZzEMmWw".find,k)]) Try it online! Inputs a list of strings and sorts them accordingly.


5

Jelly, 79 77 bytes “¡þƓẠı$1ƇẆÇ£ėƬỵ⁸ŀƘṣHỌŻ×²ıÞṆ]q1@ƒḳ0JñỴngṙƑ§ƥỵ⁼@¬TQñɱ⁼=Œ¬⁴RȦȧ¡⁸ƒƈẈ»ŒlḲị@OFµȷ2¡L Try it online! This times out on TIO, but Try it online! with only 9 iterations Takes input in lowercase -2 bytes thanks to Unrelated String How it works “¡þƓ...ƒƈẈ»ŒlḲị@OFµȷ2¡L - Main link. Takes a string S on the left µȷ2¡ - Do 100 times, ...


5

JavaScript (Node.js),  257 248  244 bytes The case of the input string doesn't matter. Returns a BigInt. f=(s,C=(n=100,A="XLfaRavoHarlieEltaChoOxtrotOlfOtelNdiaUliettIloImaIkeOvemberScarApaUebecOmeoIerraAngoNiformIctorHiskeyRayAnkeeUlu".match(/.[a-z]*/g)).map(_=>1n),g=s=>Buffer(s).reduce((t,c)=>t+C[c&31],0n))=>n--?f(s,A.map((w,i)=&...


5

05AB1E, 4 3 bytes crossed out 4 is still regular 4 ;( -1 byte thanks to @Kevin Cruijssen. Ç+ç Try it online! Ç+ç # full program + # increment... Ç # charcodes of... # implicit input + # by... # implicit input ç # convert to chars # implicit output


4

05AB1E, 63 bytes Outputs the non-ascii characters in ascending order first, then the lowercase alphabet (without g). •2£cÈ‹Jd$…•Ƶf╤4Àǝ„Æ43†ÂÄт4H·âeš¬•5вƵ¬6 15ŽPäŽEï)˜.¥ƵƵ+çJA'gK« Try it online! Commented: •2£c ... ŽEï)˜ encodes the deltas using a mix of integer and integer list compression. ... # compressed deltas .¥ # undelta ...


4

JavaScript, 184 183 bytes -1 byte thanks to @Neil _=>"a6h19äæ2ðøħŋœǁǃɐ10ɛ2ɞ8ɧ2ɪ13ɸ4ɽ2ʀ5ʈ11ʔ2ʘ2ʛ3ʟʡ2βθχᶑⱱ".replace(/.(\d+)/g,(c,n)=>[...Array(+n)].map(_=>String.fromCharCode(a++),a=c.charCodeAt()).join``) Try it online!


4

05AB1E, 38 bytes ΣžnS•f[?θ$Ÿ)*:™ûò0Æì+Ω£µ¥.—g"Ý»θä•.Isk I/O as a list of list of characters. Port of @xigoi's Jelly answer, so make sure to upvote him/her as well! Try it online or verify all test cases. Explanation: Σ # Sort the (implicit) input-list by: žn # Push the constant string "ABC...XYZabc...xyz" S # ...


4

Husk, 98 95 94 bytes Edit: -3 bytes thanks to caird coinheringaahing L!100¡ṁS:o!₁c w¨nḋ?ẏ_₇↑₇عṀ≥ÏΣ⁶Ḃ€żẎ,Ä₄ βże⁶ŻθŻ₂»Żβ∞Ξ⌈¬¹¢»ÿ¿k»aΨ₈2≡≥⁷_⁷‡@ƒΨ▼«± ¦τaċ‼₀xt►Φ₀lf₀£t Try it online! (but with only 9 iterations) Unfortunately TIO errors with a 'stack overflow' at the 10th iteration, but the program/algorithm should run if provided with a (substantially) larger ...


4

Python 3, 286 \$\cdots\$ 238 214 bytes Saved a whopping 44 48 72! bytes thanks to Jitse!!! f=lambda s,n=100:n and sum(f(c+"LFA RAVO HARLIE ELTA CHO OXTROT OLF OTEL NDIA ULIETT ILO IMA IKE OVEMBER SCAR APA UEBEC OMEO IERRA ANGO NIFORM ICTOR HISKEY RAY ANKEE ULU".split()[ord(c)-65],n-1)for c in s)or len(s) Try it online! Times out on TIO and is ...


4

Python 2, 292 276 bytes This is a little longer than the other Python answer, but finishes instantly. w=[input()]+'LFA RAVO HARLIE ELTA CHO OXTROT OLF OTEL NDIA ULIETT ILO IMA IKE OVEMBER SCAR APA UEBEC OMEO IERRA ANGO NIFORM ICTOR HISKEY RAY ANKEE ULU'.split() s=[1]+[0]*26 exec"s=[i and v+sum(j*c.count(chr(i+64))for j,c in zip(s,w))for i,v in ...


4

K, 4 bytes Anonymous tacit function taking two arguments in any order. `c$+ Try K! + add the arguments (this implicitly converts the characters to code points …$ cast to…  `c character


3

Husk, 7 bytes ´ṪY…"AZ Try it online! I'm rather surprised there isn't a Husk answer for this already. In any case, all this does is create a table (Ṫ) of the maximum (Y) of each pair of letters A to Z.


3

APL (Dyalog Unicode), 12 bytes ⍉↑26⍴⌽∘⎕A¨⍳2 Try it online! Requires ⎕IO←0, so that ⍳2 evaluates to 0 1. How it works ⍳2 ⍝ 0 1 ⌽∘⎕A¨ ⍝ Rotate the uppercase alphabet 0 and 1 times, ⍝ giving ["ABC..Z", "BCD..ZA"] 26⍴ ⍝ Cycle the two strings to the length of 26 ⍉↑ ⍝ Promote to a matrix and transpose Bunch of 13- and 14-...


3

Python 3, 73 bytes import sys x=25 while x:print(end=chr(906-x+32*len(sys.argv))[:x^8]);x-=1 Try it online! This still may not be as low as it can go!


3

(plain) TeX, 211 bytes \newcount~~=65\newcount\j\j=64\tt\def\a#1{{\loop\advance\j1\char\j\ifnum\j<#1\repeat\loop\advance\j-1\char\j\ifnum\j>65\repeat}\par}\def\c#1#2#3.{\loop\advance~#11\a~\ifnum~#2#3\repeat}A\par\c{}<90.\c->66.A\bye Output:


3

vJASS (Warcraft 3), 203 189 182 177 156 bytes Using //! import zinc "<code_path>" command to exclude //! zinc and //! endzinc. library q{integer w,e;string r="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t;function onInit(){for(0<=w<25){e=w+1;t=SubString(r,w,e);BJDebugMsg(t+SubString(r,e,e+1)+t);}}} Readable Version: library q{ integer ...


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