From 36d5c19aaa1fb6f3b60e621ad60b7b9246e2763e Mon Sep 17 00:00:00 2001 From: AlephAlpha Date: Tue, 17 Oct 2023 22:26:21 +0800 Subject: [PATCH] :smile_cat: --- analysis/corpus.txt | 7 ++ analysis/freq_1gram.txt | 68 +++++++------- analysis/freq_2gram.txt | 52 +++++++---- analysis/freq_3gram.txt | 33 +++++-- analysis/freq_4gram.txt | 23 ++++- analysis/freq_5gram.txt | 18 ++++ analysis/particles.txt | 10 +-- test/Eval.hs | 192 ++++++++++++++++++++++++++++------------ 8 files changed, 286 insertions(+), 117 deletions(-) diff --git a/analysis/corpus.txt b/analysis/corpus.txt index ba73d14..d70f7e0 100644 --- a/analysis/corpus.txt +++ b/analysis/corpus.txt @@ -31,6 +31,7 @@ RtƊjo1cɗ →rᵉÇË* 2ᵚR1cʳ× 1Uᶦ{Y$Ĭ}ɗ +ˡ∑ ˡ½ Ňŧ G @@ -71,6 +72,7 @@ rG1Ĩ oᶜ↔= ᵑᵉř^ NZ +ĕ^ṁ 1M ĭZĬ‼ ¬∫½ᶻ¿‼ @@ -125,10 +127,12 @@ oĉŤđ oĭu= ĭ= pNĉ# +SƆ$đ+< µkH /K* RRᵐ↔ RpN↔ +∑ä< ∆$i≥ ïᶜ_ Ď√‼Ṁ @@ -156,6 +160,7 @@ R:E∏ ux→=∕$p= ƊsC↔~cɗ- ¢Bx¢E$y↔∫ +Jᵖ{ix→ᶻL ĭ:Ĭ çç+ 5Ƃ× @@ -272,6 +277,8 @@ pNᵉ#ĉ#* ←ᶠ{ᵈqEů∑= ←ᶠ{ƵBƶ:o= ˡ{N→v∩ +Jĭ?∑haṀ ʷ∑→ᵉbD ᶦ{Ƃ2ŗɔƃ3M ĎSᵉti¦ +Jᵐ{x:ᵒ≈>~}aş# diff --git a/analysis/freq_1gram.txt b/analysis/freq_1gram.txt index 87a8e0b..86aa4a3 100644 --- a/analysis/freq_1gram.txt +++ b/analysis/freq_1gram.txt @@ -1,75 +1,77 @@ -{ : 62 -: : 44 -$ : 44 +{ : 64 +: : 45 +$ : 45 +∑ : 37 ++ : 36 = : 36 -+ : 35 -∑ : 34 +ᵐ : 29 ← : 28 -ᵐ : 28 R : 28 +→ : 27 * : 26 -→ : 26 -} : 25 +} : 26 +a : 24 - : 23 -a : 22 1 : 21 ᵉ : 20 ç : 20 j : 20 +x : 20 , : 18 o : 18 -x : 18 ↔ : 18 +# : 17 u : 17 +ᵒ : 17 2 : 17 -# : 16 3 : 16 -ᵒ : 16 p : 16 +~ : 16 +ĭ : 15 l : 15 -~ : 15 +ᵖ : 15 +Ṁ : 15 ↕ : 14 -ĭ : 14 Ƃ : 14 -ᵖ : 14 -Ṁ : 14 +S : 13 ∫ : 13 t : 13 Ň : 13 Ð : 13 ᶦ : 12 -S : 12 ½ : 12 +đ : 12 +J : 11 N : 11 Q : 11 +ᶻ : 11 ≡ : 11 -đ : 11 +Ɔ : 11 Z : 11 ᵑ : 11 Ɗ : 11 ĉ : 11 _ : 11 +L : 11 " : 10 +< : 10 Ť : 10 -ᶻ : 10 -Ɔ : 10 +? : 10 Ë : 10 ; : 10 ∏ : 10 -L : 10 ʷ : 9 z : 9 Ţ : 9 ᵃ : 9 ŋ : 9 -? : 9 ᵚ : 9 ᶠ : 9 +ṁ : 9 P : 8 ᶜ : 8 -J : 8 -< : 8 ũ : 8 +ˡ : 8 × : 8 ¬ : 8 r : 8 @@ -80,18 +82,17 @@ E : 8 c : 8 % : 8 ƒ : 8 -ṁ : 8 C : 8 ± : 8 q : 7 ᵗ : 7 -ˡ : 7 f : 7 £ : 7 ɗ : 7 ŗ : 7 Ĉ : 7 Ĩ : 7 +ä : 7 4 : 7 ∆ : 7 @ : 7 @@ -102,9 +103,11 @@ f : 7 Ä : 6 / : 6 Ø : 6 +ş : 6 ∙ : 6 -ä : 6 +≈ : 6 O : 6 +i : 6 ∩ : 6 Ř : 6 į : 6 @@ -118,14 +121,12 @@ d : 5 ≤ : 5 Ĭ : 5 ¦ : 5 -ş : 5 µ : 5 ¿ : 5 +h : 5 8 : 5 √ : 5 5 : 5 -≈ : 5 -i : 5 B : 5 b : 5 I : 4 @@ -138,8 +139,9 @@ k : 4 F : 4 ƥ : 4 ɔ : 4 +ĕ : 4 M : 4 -h : 4 +> : 4 ÷ : 4 Þ : 4 ˣ : 4 @@ -158,9 +160,7 @@ s : 3 Ħ : 3 D : 3 7 : 3 -> : 3 ƶ : 3 -ĕ : 3 & : 3 ï : 3 Ṗ : 3 @@ -168,6 +168,7 @@ v : 3 § : 3 Ƥ : 2 g : 2 +^ : 2 X : 2 K : 2 6 : 2 @@ -180,7 +181,6 @@ e : 1 : 1 W : 1 ! : 1 -^ : 1 | : 1 Ž : 1 ṃ : 1 diff --git a/analysis/freq_2gram.txt b/analysis/freq_2gram.txt index 8bc22f2..3118367 100644 --- a/analysis/freq_2gram.txt +++ b/analysis/freq_2gram.txt @@ -1,18 +1,22 @@ ᶦ{ : 11 -ᵖ{ : 8 +ᵖ{ : 9 ʷ{ : 7 ᵑ{ : 7 ᶠ{ : 7 {$ : 6 ˡ{ : 6 +Jᵐ : 5 {: : 5 -Jᵐ : 4 +:ᵒ : 5 *→ : 4 -¬ : 4 Ɔž : 4 +aṀ : 4 ᵏ{ : 4 -:ᵒ : 4 Ňᵖ : 4 +}a : 4 +aş : 4 +ᵐ{ : 4 ᵗz : 3 ŢṂ : 3 ←½ : 3 @@ -32,7 +36,7 @@ Rᶠ : 3 1Ĉ : 3 ᵒ+ : 3 :← : 3 -aṀ : 3 +đ+ : 3 1Ĩ : 3 R: : 3 :∙ : 3 @@ -47,9 +51,7 @@ pN : 3 ᵐ∑ : 3 ↕ũ : 3 ᵒ{ : 3 -}a : 3 -aş : 3 -ᵐ{ : 3 +x: : 3 +} : 3 *$ : 3 #← : 3 @@ -101,7 +103,6 @@ G1 : 2 ½a : 2 +j : 2 qᵗ : 2 -đ+ : 2 ;ᶜ : 2 ᶜt : 2 :Ĭ : 2 @@ -140,6 +141,9 @@ Sđ : 2 oĉ : 2 oĭ : 2 ĉ# : 2 +Ɔ$ : 2 +$đ : 2 +∑ä : 2 ᵖf : 2 _= : 2 Ṁ→ : 2 @@ -148,9 +152,11 @@ aṁ : 2 0* : 2 x= : 2 $ᶻ : 2 +ᶻL : 2 o↔ : 2 ĭ∑ : 2 ux : 2 +x→ : 2 →= : 2 ¢B : 2 $y : 2 @@ -171,9 +177,10 @@ ut : 2 Ṗ↕ : 2 {J : 2 :# : 2 -x: : 2 +ĭ? : 2 {* : 2 ᵃ{ : 2 +{x : 2 ŋ+ : 2 {ᵈ : 2 }- : 2 @@ -191,6 +198,7 @@ RS : 2 {R : 2 #ᵑ : 2 ĭ, : 2 +Jĭ : 2 ←ᶠ : 2 ," : 1 :ᶦ : 1 @@ -272,6 +280,7 @@ Uᶦ : 1 $Ĭ : 1 Ĭ} : 1 }ɗ : 1 +ˡ∑ : 1 ˡ½ : 1 $Z : 1 Zᵉ : 1 @@ -361,6 +370,8 @@ oᶜ : 1 ᵉř : 1 ř^ : 1 NZ : 1 +ĕ^ : 1 +^ṁ : 1 1M : 1 ĭZ : 1 ZĬ : 1 @@ -487,6 +498,8 @@ jĭ : 1 u= : 1 ĭ= : 1 Nĉ : 1 +SƆ : 1 ++< : 1 µk : 1 kH : 1 /K : 1 @@ -495,6 +508,7 @@ RR : 1 Rᵐ : 1 Rp : 1 N↔ : 1 +ä< : 1 ∆$ : 1 $i : 1 i≥ : 1 @@ -559,11 +573,8 @@ x↕ : 1 O3 : 1 3L : 1 J$ : 1 -ᶻL : 1 ↔ĭ : 1 -∑ä : 1 E∏ : 1 -x→ : 1 =∕ : 1 ∕$ : 1 $p : 1 @@ -579,6 +590,10 @@ x¢ : 1 E$ : 1 y↔ : 1 ↔∫ : 1 +Jᵖ : 1 +{i : 1 +ix : 1 +→ᶻ : 1 ĭ: : 1 çç : 1 ç+ : 1 @@ -691,7 +706,6 @@ XÞ : 1 {ᵗ : 1 ᵗ≡ : 1 ≡ĭ : 1 -ĭ? : 1 Ɗĭ : 1 *+ : 1 +$ : 1 @@ -699,7 +713,6 @@ $/ : 1 /1 : 1 %≡ : 1 @ᵃ : 1 -{x : 1 x- : 1 ∑} : 1 }ä : 1 @@ -777,8 +790,6 @@ Pᵖ : 1 Sᵖ : 1 :* : 1 *Ɔ : 1 -Ɔ$ : 1 -$đ : 1 S2 : 1 2L : 1 L: : 1 @@ -1115,7 +1126,6 @@ iƀ : 1 ¬? : 1 ?: : 1 :J : 1 -Jĭ : 1 đ, : 1 ,? : 1 ?ƃ : 1 @@ -1144,6 +1154,9 @@ o= : 1 N→ : 1 →v : 1 v∩ : 1 +?∑ : 1 +∑h : 1 +ha : 1 ʷ∑ : 1 ∑→ : 1 ᵉb : 1 @@ -1160,3 +1173,8 @@ Sᵉ : 1 ᵉt : 1 ti : 1 i¦ : 1 +ᵒ≈ : 1 +≈> : 1 +>~ : 1 +~} : 1 +ş# : 1 diff --git a/analysis/freq_3gram.txt b/analysis/freq_3gram.txt index 249ae75..1308762 100644 --- a/analysis/freq_3gram.txt +++ b/analysis/freq_3gram.txt @@ -4,6 +4,7 @@ u∕u : 3 ∫Ɔž : 3 Ɔž≥ : 3 ᵑ{ˣ : 3 +}aş : 3 "ᵉĝ : 2 ᵉĝ, : 2 3*→ : 2 @@ -24,13 +25,16 @@ Rᶠ{ : 2 Ë:ᵒ : 2 :ᵒ& : 2 ᵒ&Þ : 2 +Ɔ$đ : 2 +$đ+ : 2 į→ŋ : 2 tut : 2 ᵒ{ᵋ : 2 ᵖ{: : 2 ŋ+} : 2 +Jᵐ{ : 2 3~ᵑ : 2 -}aş : 2 +x:ᵒ : 2 #ᵑ{ : 2 ←ᶠ{ : 2 ĝ," : 1 @@ -226,6 +230,7 @@ oᶜ↔ : 1 ᶜ↔= : 1 ᵑᵉř : 1 ᵉř^ : 1 +ĕ^ṁ : 1 ĭZĬ : 1 ZĬ‼ : 1 ¬∫½ : 1 @@ -352,12 +357,15 @@ oĭu : 1 ĭu= : 1 pNĉ : 1 Nĉ# : 1 +SƆ$ : 1 +đ+< : 1 µkH : 1 /K* : 1 RRᵐ : 1 Rᵐ↔ : 1 RpN : 1 pN↔ : 1 +∑ä< : 1 ∆$i : 1 $i≥ : 1 ïᶜ_ : 1 @@ -447,6 +455,12 @@ x¢E : 1 E$y : 1 $y↔ : 1 y↔∫ : 1 +Jᵖ{ : 1 +ᵖ{i : 1 +{ix : 1 +ix→ : 1 +x→ᶻ : 1 +→ᶻL : 1 ĭ:Ĭ : 1 çç+ : 1 5Ƃ× : 1 @@ -694,8 +708,6 @@ Sᵖ{ : 1 {:* : 1 :*Ɔ : 1 *Ɔ$ : 1 -Ɔ$đ : 1 -$đ+ : 1 đ+= : 1 RS2 : 1 S2L : 1 @@ -733,7 +745,6 @@ R↔$ : 1 $∆ç : 1 ∆çJ : 1 çJᵐ : 1 -Jᵐ{ : 1 ᵐ{C : 1 {Cᵈ : 1 CᵈA : 1 @@ -963,7 +974,6 @@ loÐ : 1 oÐũ : 1 ᵑ{R : 1 {R∑ : 1 -x:ᵒ : 1 :ᵒ- : 1 -¬* : 1 Ðᵒ÷ : 1 @@ -1122,6 +1132,11 @@ Bƶ: : 1 {N→ : 1 N→v : 1 →v∩ : 1 +Jĭ? : 1 +ĭ?∑ : 1 +?∑h : 1 +∑ha : 1 +haṀ : 1 ʷ∑→ : 1 ∑→ᵉ : 1 →ᵉb : 1 @@ -1137,3 +1152,11 @@ N→v : 1 Sᵉt : 1 ᵉti : 1 ti¦ : 1 +ᵐ{x : 1 +{x: : 1 +:ᵒ≈ : 1 +ᵒ≈> : 1 +≈>~ : 1 +>~} : 1 +~}a : 1 +aş# : 1 diff --git a/analysis/freq_4gram.txt b/analysis/freq_4gram.txt index 206406f..1230f02 100644 --- a/analysis/freq_4gram.txt +++ b/analysis/freq_4gram.txt @@ -9,6 +9,7 @@ %ŗ}k : 2 Ë:ᵒ& : 2 :ᵒ&Þ : 2 +Ɔ$đ+ : 2 #ᵑ{ˣ : 2 ᵉĝ," : 1 ĝ,"ᵉ : 1 @@ -244,6 +245,8 @@ jĭÐɗ : 1 oĉŤđ : 1 oĭu= : 1 pNĉ# : 1 +SƆ$đ : 1 +$đ+< : 1 RRᵐ↔ : 1 RpN↔ : 1 ∆$i≥ : 1 @@ -313,6 +316,11 @@ x¢E$ : 1 ¢E$y : 1 E$y↔ : 1 $y↔∫ : 1 +Jᵖ{i : 1 +ᵖ{ix : 1 +{ix→ : 1 +ix→ᶻ : 1 +x→ᶻL : 1 2R:4 : 1 R:4* : 1 :4*Ð : 1 @@ -527,7 +535,6 @@ Sᵖ{: : 1 {:*Ɔ : 1 :*Ɔ$ : 1 *Ɔ$đ : 1 -Ɔ$đ+ : 1 $đ+= : 1 RS2L : 1 S2L: : 1 @@ -910,6 +917,10 @@ Bƶ:o : 1 ˡ{N→ : 1 {N→v : 1 N→v∩ : 1 +Jĭ?∑ : 1 +ĭ?∑h : 1 +?∑ha : 1 +∑haṀ : 1 ʷ∑→ᵉ : 1 ∑→ᵉb : 1 →ᵉbD : 1 @@ -922,3 +933,13 @@ N→v∩ : 1 ĎSᵉt : 1 Sᵉti : 1 ᵉti¦ : 1 +Jᵐ{x : 1 +ᵐ{x: : 1 +{x:ᵒ : 1 +x:ᵒ≈ : 1 +:ᵒ≈> : 1 +ᵒ≈>~ : 1 +≈>~} : 1 +>~}a : 1 +~}aş : 1 +}aş# : 1 diff --git a/analysis/freq_5gram.txt b/analysis/freq_5gram.txt index b1e2ee3..992537e 100644 --- a/analysis/freq_5gram.txt +++ b/analysis/freq_5gram.txt @@ -163,6 +163,8 @@ $3*→I : 1 ajĭÐɗ : 1 jĭÐɗ$ : 1 ĭÐɗ$Ĩ : 1 +SƆ$đ+ : 1 +Ɔ$đ+< : 1 ïƊj1Ĉ : 1 ᵉᵑ{ˣ∙ : 1 ᵑ{ˣ∙ɔ : 1 @@ -213,6 +215,10 @@ Bx¢E$ : 1 x¢E$y : 1 ¢E$y↔ : 1 E$y↔∫ : 1 +Jᵖ{ix : 1 +ᵖ{ix→ : 1 +{ix→ᶻ : 1 +ix→ᶻL : 1 2R:4* : 1 R:4*Ð : 1 :4*Ð× : 1 @@ -714,6 +720,9 @@ qEů∑= : 1 Bƶ:o= : 1 ˡ{N→v : 1 {N→v∩ : 1 +Jĭ?∑h : 1 +ĭ?∑ha : 1 +?∑haṀ : 1 ʷ∑→ᵉb : 1 ∑→ᵉbD : 1 ᶦ{Ƃ2ŗ : 1 @@ -723,3 +732,12 @@ Bƶ:o= : 1 ŗɔƃ3M : 1 ĎSᵉti : 1 Sᵉti¦ : 1 +Jᵐ{x: : 1 +ᵐ{x:ᵒ : 1 +{x:ᵒ≈ : 1 +x:ᵒ≈> : 1 +:ᵒ≈>~ : 1 +ᵒ≈>~} : 1 +≈>~}a : 1 +>~}aş : 1 +~}aş# : 1 diff --git a/analysis/particles.txt b/analysis/particles.txt index f5bc0e5..ce5d716 100644 --- a/analysis/particles.txt +++ b/analysis/particles.txt @@ -3,19 +3,19 @@ particle : with "{" / total ʳ : 0 / 4 ᵗ : 0 / 7 ˣ : 0 / 4 -ᶻ : 0 / 10 +ᶻ : 0 / 11 ᶾ : 0 / 1 ᵉ : 1 / 20 -ᵐ : 3 / 28 ᵚ : 1 / 9 ᶜ : 1 / 8 -ᵒ : 3 / 16 +ᵐ : 4 / 29 +ᵒ : 3 / 17 ᵃ : 2 / 9 ᵋ : 1 / 4 -ᵖ : 8 / 14 +ᵖ : 9 / 15 ᵑ : 7 / 11 ᵏ : 4 / 6 +ˡ : 6 / 8 ᶠ : 7 / 9 ʷ : 7 / 9 -ˡ : 6 / 7 ᶦ : 11 / 12 diff --git a/test/Eval.hs b/test/Eval.hs index 68a1f24..9f03b76 100644 --- a/test/Eval.hs +++ b/test/Eval.hs @@ -33,6 +33,12 @@ all_ = All False truncate_ :: [String] -> Result truncate_ = All True +first_ :: String -> Result +first_ = First . Just + +nothing_ :: Result +nothing_ = First Nothing + testEval :: Spec testEval = describe "Evaluation" $ do describe "q69: Golf you a quine for great good!" $ do @@ -368,6 +374,18 @@ testEval = describe "Evaluation" $ do specEval "1Uᶦ{Y$Ĭ}ɗ" [("", truncate_ ["1", "11", "21", "1211", "111221", "312211", "13112221", "1113213211", "31131211131221", "13211311123113112211"])] + describe "q71476: Determine the depth of an array" $ do + specEval + "ˡ∑" + [ ("[1]", all_ ["1"]) + , ("[1,2,3]", all_ ["1"]) + , ("[[1,2,3]]", all_ ["2"]) + , ("[3,[3,[3],3],3]", all_ ["3"]) + , ("[[[[1],2],[3,[4]]]]", all_ ["4"]) + , ("[1,[[3]],[5,6],[[[[8]]]],1]", all_ ["5"]) + , ("[1,[[2,3,[[4],5],6,[7,8]],9,[10,[[[11]]]],12,13],14]", all_ ["6"]) + , ("[[[[[[[3]]]]]]]", all_ ["7"]) + ] describe "q71833: How even is a number?" $ do specEval "ˡ½" @@ -694,14 +712,14 @@ testEval = describe "Evaluation" $ do describe "q101389: Increment an Array" $ do specEval "Ṁ←ɔ:ṁĨĦ+" - [ ("[1]", First $ Just "[1,1]") - , ("[2]", First $ Just "[2,1]") - , ("[1,1]", First $ Just "[1,1,1]") - , ("[3,3,3,3,3]", First $ Just "[3,3,3,3,3,1]") - , ("[1,2]", First $ Just "[2,2]") - , ("[2,1]", First $ Just "[2,2]") - , ("[3,1,1]", First $ Just "[3,2,1]") - , ("[3,4,9,3]", First $ Just "[4,4,9,3]") + [ ("[1]", first_ "[1,1]") + , ("[2]", first_ "[2,1]") + , ("[1,1]", first_ "[1,1,1]") + , ("[3,3,3,3,3]", first_ "[3,3,3,3,3,1]") + , ("[1,2]", first_ "[2,2]") + , ("[2,1]", first_ "[2,2]") + , ("[3,1,1]", first_ "[3,2,1]") + , ("[3,4,9,3]", first_ "[4,4,9,3]") ] describe "q103624: Find the sum of all numbers below n that are a multiple of some set of numbers" $ do specEval @@ -714,11 +732,11 @@ testEval = describe "Evaluation" $ do ] specEval "ᶠ{$~¦}∑" - [ ("50 [2]", First $ Just "600") - , ("10 [3,5]", First $ Just "23") - , ("28 [4,2]", First $ Just "182") - , ("19 [7,5]", First $ Just "51") - , ("50 [2,3,5]", First $ Just "857") + [ ("50 [2]", first_ "600") + , ("10 [3,5]", first_ "23") + , ("28 [4,2]", first_ "182") + , ("19 [7,5]", first_ "51") + , ("50 [2,3,5]", first_ "857") ] describe "q103756: Big numbers: Ultrafactorials" $ do specEval @@ -802,6 +820,16 @@ testEval = describe "Evaluation" $ do , ("[[8],[8,[9]],[8,[9,[1,0]]]]", Check False) , ("[-1,0,0,0]", Check False) ] + describe "q117774: Moving modest minimum" $ do + specEval + "ĕ^ṁ" + [ ("[4,3,2,5]", all_ ["2", "2", "3", "2"]) + , ("[4,2,2,5]", all_ ["2", "2", "2", "2"]) + , ("[6,3,5,5,8]", all_ ["3", "5", "3", "3", "3"]) + , ("[7,1]", all_ ["1", "7"]) + , ("[9,9]", all_ ["9", "9"]) + , ("[9,8,9]", all_ ["8", "9", "8"]) + ] describe "q118444: Stay away from zero" $ do specEval "1M" @@ -999,8 +1027,8 @@ testEval = describe "Evaluation" $ do describe "q136713: Find the first duplicated element" $ do specEval "pƆᵗf" - [ ("[2,3,3,1,5,2]", First $ Just "3") - , ("[2,4,3,5,1]", First Nothing) + [ ("[2,3,3,1,5,2]", first_ "3") + , ("[2,4,3,5,1]", nothing_) ] describe "q136887: Fold a List in Half" $ do specEval @@ -1311,22 +1339,22 @@ testEval = describe "Evaluation" $ do describe "q182305: Return the Closest Prime Number" $ do specEval "Ž-Q" - [ ("80", First $ Just "79") - , ("100", First $ Just "101") - , ("5", First $ Just "5") - , ("9", First $ Just "7") - , ("532", First $ Just "523") - , ("1", First $ Just "2") + [ ("80", first_ "79") + , ("100", first_ "101") + , ("5", first_ "5") + , ("9", first_ "7") + , ("532", first_ "523") + , ("1", first_ "2") ] describe "q186881: First occurrence in the Sixers sequence" $ do specEval "Ň6*ƊajĭÐɗ$Ĩ" - [ ("0", First $ Just "241") - , ("17", First $ Just "297") - , ("36", First $ Just "80") - , ("55", First $ Just "128") - , ("82", First $ Just "2") - , ("95", First $ Just "557") + [ ("0", first_ "241") + , ("17", first_ "297") + , ("36", first_ "80") + , ("55", first_ "128") + , ("82", first_ "2") + , ("95", first_ "557") ] describe "q187879: Integer Lists of Noah" $ do specEval @@ -1400,6 +1428,18 @@ testEval = describe "Evaluation" $ do specEval "pNĉ#" [("[4,4,4,7,7,9,9,9,9,2,2,2,4,4]", all_ ["1", "1", "1", "2", "2", "3", "3", "3", "3", "4", "4", "4", "5", "5"])] + describe "q190949: Count the number of triangles" $ do + specEval + "SƆ$đ+<" + [ ("[1,2,3]", Count 0) + , ("[1,1,1]", Count 1) + , ("[1,1,1,1]", Count 4) + , ("[1,2,3,4]", Count 1) + , ("[3,4,5,7]", Count 3) + , ("[1,42,69,666,1000000]", Count 0) + , ("[12,23,34,45,56,67,78,89]", Count 34) + , ("[1,2,3,4,5,6,7,8,9,10]", Count 50) + ] describe "q195592: Average Two Letters" $ do specEval "µkH" @@ -1424,6 +1464,23 @@ testEval = describe "Evaluation" $ do specEval "RpN↔" [("4", all_ ["[1]", "[2,1]", "[3,2,1]", "[4,3,2,1]"])] + describe "q199353: Is this a triangle?" $ do + specEval + "∑ä<" + [ ("[1,1,1]", Check True) + , ("[1,2,3]", Check False) + , ("[2,1,3]", Check False) + , ("[1,3,2]", Check False) + , ("[3,2,1]", Check False) + , ("[3,1,2]", Check False) + , ("[2,2,2]", Check True) + , ("[3,4,5]", Check True) + , ("[3,5,4]", Check True) + , ("[5,3,4]", Check True) + , ("[5,4,3]", Check True) + , ("[10,9,3]", Check True) + , ("[100,10,10]", Check False) + ] describe "q199409: Is it a doubling sequence?" $ do specEval "∆$i≥" @@ -1738,6 +1795,13 @@ testEval = describe "Evaluation" $ do , ("1001", all_ ["[1000,1001]"]) , ("4037 ", all_ ["[1000,2000,3000,4000,4010,4020,4030,4031,4032,4033,4034,4035,4036,4037]"]) ] + describe "q240187: Repeating slices of an array incrementally" $ do + specEval + "Jᵖ{ix→ᶻL" + [ ("[1,2,3,4,5,6,7,8,9,10]", first_ "[[1],[2,3],[4,5,6],[7,8,9,10]]") + , ("[10,20,30,40]", first_ "[[10],[20,30],[40]]") + , ("[100,200,300,400,500]", first_ "[[100],[200,300],[400,500]]") + ] describe "q241267: Remove odd indices and double the even indices" $ do specEval "ĭ:Ĭ" @@ -1872,12 +1936,12 @@ testEval = describe "Evaluation" $ do describe "q250283: Rearrange to a palindrome" $ do specEval "↕ƀ=" - [ ("\"nanas\"", First $ Just "nasan") - , ("\"coconutnut\"", First $ Just "conuttunoc") - , ("\"apotato\"", First $ Just "aotptoa") - , ("\"canadadance\"", First $ Just "canadedanac") - , ("\"nananana\"", First $ Just "nanaanan") - , ("\"anaan\"", First $ Just "anana") + [ ("\"nanas\"", first_ "nasan") + , ("\"coconutnut\"", first_ "conuttunoc") + , ("\"apotato\"", first_ "aotptoa") + , ("\"canadadance\"", first_ "canadedanac") + , ("\"nananana\"", first_ "nanaanan") + , ("\"anaan\"", first_ "anana") ] describe "q250395: Have you heard of tralindromes?" $ do specEval @@ -2241,12 +2305,12 @@ testEval = describe "Evaluation" $ do describe "q258335: Shortest Code to Find the Smallest Missing Positive Integer" $ do specEval "ŇPᵖf" - [ ("[1,2,3]", First $ Just "4") - , ("[3,4,-1,1]", First $ Just "2") - , ("[7,8,9,11,12]", First $ Just "1") - , ("[-5,-4,-3,-2,-1,0,1,2,3,5,7,10]", First $ Just "4") - , ("[]", First $ Just "1") - , ("[-1,-4,-7]", First $ Just "1") + [ ("[1,2,3]", first_ "4") + , ("[3,4,-1,1]", first_ "2") + , ("[7,8,9,11,12]", first_ "1") + , ("[-5,-4,-3,-2,-1,0,1,2,3,5,7,10]", first_ "4") + , ("[]", first_ "1") + , ("[-1,-4,-7]", first_ "1") ] describe "q258432: Shortest code to generate all Pythagorean triples up to a given limit" $ do specEval @@ -2387,9 +2451,9 @@ testEval = describe "Evaluation" $ do describe "q259707: Shortest distinguishable slice" $ do specEval "∑ᵚ+xqNᵖ{ᵚ@ů}aşᵉhl→Ð" - [ ("[\"happy\",\"angry\",\"hungry\"]", First $ Just "[1,2]") - , ("[\"sheer\",\"shrew\",\"shine\",\"shire\",\"spike\",\"shy\"]", First $ Just "[2,4]") - , ("[\"snap\",\"crackle\",\"pop\",\"smack\",\"sizzle\",\"whiff\",\"sheen\"]", First $ Just "[0,2]") + [ ("[\"happy\",\"angry\",\"hungry\"]", first_ "[1,2]") + , ("[\"sheer\",\"shrew\",\"shine\",\"shire\",\"spike\",\"shy\"]", first_ "[2,4]") + , ("[\"snap\",\"crackle\",\"pop\",\"smack\",\"sizzle\",\"whiff\",\"sheen\"]", first_ "[0,2]") ] describe "q259881: The Jaccard Index" $ do specEval @@ -2578,16 +2642,16 @@ testEval = describe "Evaluation" $ do describe "q261908: Last odd digit of power of 2" $ do specEval "Ë¢BÖ1Ĩ" - [ ("1", First Nothing) - , ("2", First Nothing) - , ("3", First Nothing) - , ("4", First $ Just "1") - , ("5", First $ Just "1") - , ("6", First Nothing) - , ("7", First $ Just "2") - , ("8", First $ Just "1") - , ("9", First $ Just "1") - , ("10", First $ Just "3") + [ ("1", nothing_) + , ("2", nothing_) + , ("3", nothing_) + , ("4", first_ "1") + , ("5", first_ "1") + , ("6", nothing_) + , ("7", first_ "2") + , ("8", first_ "1") + , ("9", first_ "1") + , ("10", first_ "3") ] describe "q262032: Vertices of a regular dodecahedron" $ do specEval @@ -2796,9 +2860,9 @@ testEval = describe "Evaluation" $ do describe "q263774: Round up to a smoother number" $ do specEval "Ň+ᵖ{ʷ½≥" - [ ("101 100", First $ Just "102") - , ("201 100", First $ Just "204") - , ("256 100", First $ Just "256") + [ ("101 100", first_ "102") + , ("201 100", first_ "204") + , ("256 100", first_ "256") ] describe "q263910: Evenly spread values" $ do specEval @@ -2946,6 +3010,15 @@ testEval = describe "Evaluation" $ do , ("[5]", all_ ["1"]) , ("[7,3,9,5,4,2,8]", all_ ["4"]) ] + describe "q265382: Find the largest sum such that no two elements are touching" $ do + specEval + "Jĭ?∑haṀ" + [ ("[1,2,3,4]", all_ ["6"]) + , ("[1,2,3,4,5]", all_ ["9"]) + , ("[2,2,1,1,2,1,1,2]", all_ ["7"]) + , ("[3,1,4,1,5,9,2]", all_ ["16"]) + , ("[9,8,7,9,9,8]", all_ ["26"]) + ] describe "q265768: Transpose a multidimensional array" $ do specEval "ʷ∑→ᵉbD" @@ -2983,3 +3056,12 @@ testEval = describe "Evaluation" $ do , ("8", Count 15) , ("9", Count 7) ] + describe "q266049: How many umbrellas to cover the beach?" $ do + specEval + "Jᵐ{x:ᵒ≈>~}aş#" + [ ("[9,2,1,3,2,4,2,1] 1", first_ "1") + , ("[1,1,1,1,1,1,1,1] 1", first_ "8") + , ("[2,1,4,1,4,1,1,3,1] 1", first_ "2") + , ("[5,1,3,1,3,1,1,1,6] 1", first_ "2") + , ("[4,1,1,3,1,1] 1", first_ "2") + ]