diff options
| author | aecepoglu <aecepoglu@fastmail.fm> | 2023-05-31 00:14:03 +0100 |
|---|---|---|
| committer | aecepoglu <aecepoglu@fastmail.fm> | 2023-05-31 00:14:03 +0100 |
| commit | 5bf49191208c9652ab67442b4c9e4361196d1d92 (patch) | |
| tree | 4ffb4399eb961302df987edf9f8af7bfbea8c4ba | |
| parent | a44bd8ba4999bfbf35e643397939100a8105d3bb (diff) | |
| download | perlweeklychallenge-club-5bf49191208c9652ab67442b4c9e4361196d1d92.tar.gz perlweeklychallenge-club-5bf49191208c9652ab67442b4c9e4361196d1d92.tar.bz2 perlweeklychallenge-club-5bf49191208c9652ab67442b4c9e4361196d1d92.zip | |
aecepoglu solutions for 179-211
30 files changed, 201 insertions, 0 deletions
diff --git a/challenge-179/aecepoglu/bqn/ch-1.bqn b/challenge-179/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..9961b3cc25 --- /dev/null +++ b/challenge-179/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,17 @@ +no←⟨"","1st","2nd","3rd","4th" ,"5th","6th","7th","8th","9th" + ,"10th","11th","12th","13th","14th","15th","16th","17th","18th","19th" + ,"20th","30th","40th","50th","60th","70th","80th","90th", + ,"hundredth","thousandth"⟩ +nw←⟨"","one","two","three","four","five","six","seven","eight","nine" + ,"ten" ,"eleven", "twelve", "thirteen", "fourteen", "fifteen" + ,"sixteen", "seventeen", "eighteen", "nineteen" + ,"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" + ,"hundred", "thousand"⟩ +nn←∞∾(1+↕19)∾(10×2↓↕10)∾10⋆2‿3 +on←100≤nn + +# I admit this is more than a bit ugly, bit it works and I really do not want to bother +Spoken←{∾((∧´1<≠¨)◶⋈‿⊢)¨ (0<≠¨)⊸/∾(0⊸≠)⊸(/⟜(⌽nw)(⋈¨)˜/⟜on(Spoken⊢×(⊣∧1⊸=)∨1⊸<)¨/)1⊸⊑¨{(<𝕩‿0)⊑⊸(|˜⋈⌊∘÷)`⌽nn}𝕩} +Ordinal←(no⊑˜nw⊸⊐⟜⋈)⌾(¯1⊸⊑) Spoken + +Ordinal 25213 diff --git a/challenge-179/aecepoglu/bqn/ch-2.bqn b/challenge-179/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..009d206daa --- /dev/null +++ b/challenge-179/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,2 @@ +Sparkline←{('▁'+↕8)⊏˜ ⌊0.5+7× (⊢÷⌈´)𝕩} +Sparkline 3×⟨1,2,5,3,2,4,6⟩ diff --git a/challenge-179/aecepoglu/bqn/ch-2.js b/challenge-179/aecepoglu/bqn/ch-2.js new file mode 100644 index 0000000000..e0c50b1bbc --- /dev/null +++ b/challenge-179/aecepoglu/bqn/ch-2.js @@ -0,0 +1,8 @@ +const steps="▁▂▃▄▅▆▇█" + +sol = list => { + max = Math.max(...list) + return list.map(x => steps[Math.round(7*(x/max))]).join("") +} + +sol([1,2,5,3,2,4,6].map(x => x * 3)) diff --git a/challenge-189/aecepoglu/bqn/ch-1.bqn b/challenge-189/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..ff6a187bb5 --- /dev/null +++ b/challenge-189/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,4 @@ +array←"arlocxhe" +target←'z' + +⊑∾⟜@ (>⟜»target⊸<)⊸/∧array diff --git a/challenge-189/aecepoglu/bqn/ch-2.bqn b/challenge-189/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..cf2715c37f --- /dev/null +++ b/challenge-189/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,8 @@ +Dgr←⌈´·≠¨(⊐⊔⊢) +F←(⌊´⊸=≠¨)⊸/{((Dgr𝕩)=Dgr¨)⊸/∊⊸/∾↓¨↑𝕩} + +F 1‿3‿3‿2 +F 1‿2‿1‿3 +F 1‿3‿2‿1‿2 +F 1‿1‿2‿3‿2 +F 2‿1‿2‿1‿1 diff --git a/challenge-190/aecepoglu/bqn/ch-1.bqn b/challenge-190/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..6aaa33cec5 --- /dev/null +++ b/challenge-190/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,5 @@ +F←∧´∘¬∘(⊢>∞⊸«)"AZaz"⍋⊢ +1 = F "Perl" +1 = F "TPF" +0 = F "PyThon" +1 = F "raku" diff --git a/challenge-190/aecepoglu/bqn/ch-2.bqn b/challenge-190/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..6d601226c8 --- /dev/null +++ b/challenge-190/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,8 @@ +(+`⊔⊢)¨ +{(⊣+10×⊢)´∘⌽¨¨ +'A'+↕26 +Cuts←{(∧´¨26⊸≥)⊸/(⊣+10×⊢)´∘⌽¨¨(∧´0≠≠¨)¨⊸/(+`⊔𝕩˙)¨⥊↕2⥊˜≠𝕩} +F←{⌽⊏⟜('A'+↕26)¨1-˜Cuts '0'-˜𝕩} +F "11" +F "1115" +F "127" diff --git a/challenge-191/aecepoglu/bqn/ch-1.bqn b/challenge-191/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..8bfd7bfa6c --- /dev/null +++ b/challenge-191/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,6 @@ +list←1‿2‿3‿4 +F←(∧´2≤⌈´÷⌈´⊸≠⊸/) +F list +F 1‿2‿0‿5 +F 2‿6‿3‿1 +F 4‿5‿2‿3 diff --git a/challenge-193/aecepoglu/bqn/ch-1.bqn b/challenge-193/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..fb6759d243 --- /dev/null +++ b/challenge-193/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,2 @@ +F←{⥊'0'+↕𝕩⥊2} +8=≠ F 3 diff --git a/challenge-193/aecepoglu/bqn/ch-2.bqn b/challenge-193/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..795688b3f1 --- /dev/null +++ b/challenge-193/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,4 @@ +F←{𝕩⊏˜(1=≠¨)⊸/⊔⊐(1↓-⟜»)¨𝕩} +⟨"abc"⟩≡F ⟨"adc", "wzy", "abc"⟩ +⟨"bob"⟩≡F ⟨"aaa", "bob", "ccc", "ddd"⟩ +⟨ ⟩≡F ⟨"aaa", "ccc", "ddd"⟩ diff --git a/challenge-194/aecepoglu/bqn/ch-1.bqn b/challenge-194/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..936da6e4ee --- /dev/null +++ b/challenge-194/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,9 @@ +all←(∧´24‿60>·(+´10‿1⊸×)¨2⊸↑⋈2⊸↓)˘⊸/>⥊↕4⥊10 +n←↕10 +'0'-˜(2≠↕5)/x +F←{b←10>d←'0'-˜1‿1‿0‿1‿1/𝕩 + ⌈´⥊(¬b)⊸/˘all/˜(b/d)⊸≡˘b⊸/⌾⍉ all} +2 = F "?3:00" +9 = F "1?:00" +9 = F "1?:00" +5 = F "12:?5" diff --git a/challenge-194/aecepoglu/bqn/ch-2.bqn b/challenge-194/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..4f0f67414f --- /dev/null +++ b/challenge-194/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,3 @@ +F←{1=(+´·|⊢-(⌊0.5++´÷≠))≠¨(⊐⊔⊢) 𝕩} +F "xyzyyxz" +F "xzxz" diff --git a/challenge-195/aecepoglu/bqn/ch-1.bqn b/challenge-195/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..9a563f4590 --- /dev/null +++ b/challenge-195/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,2 @@ +F←{+´(∧´∘∊∘•Fmt)¨↕𝕩} +F 15 diff --git a/challenge-195/aecepoglu/bqn/ch-2.bqn b/challenge-195/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..a5f306a7b0 --- /dev/null +++ b/challenge-195/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,5 @@ +# select evens +# find max frequents +# add ¯1 to list if empty +# take first +F←{⌊´(0=≠)◶⟨⊢,∾⟜¯1⟩ (⌈´⊸=⊒)⊸/ (0=2⊸|)⊸/⟩} diff --git a/challenge-196/aecepoglu/bqn/ch-1.bqn b/challenge-196/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..7cf2dfa238 --- /dev/null +++ b/challenge-196/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,31 @@ +#You are given a list of integers, @list. +# +#Write a script to find out subsequence that respect Pattern 132. Return empty ar +#ray if none found. +# +# Pattern 132 in a sequence (a[i], a[j], a[k]) such that i < j < k and a[i] < +#a[k] < a[j]. +# +# +# Example 1 +# +# Input: @list = (3, 1, 4, 2) +# Output: (1, 4, 2) respect the Pattern 132. +# +# Example 2 +# +# Input: @list = (1, 2, 3, 4) +# Output: () since no susbsequence can be found. +# +# Example 3 +# +# Input: @list = (1, 3, 2, 4, 6, 5) +# Output: (1, 3, 2) if more than one subsequence found then return the first. +# +# Example 4 +# +# Input: @list = (1, 3, 4, 2) +# Output: (1, 3, 2) +F←{⊑⟨⟨⟩⟩∾˜(1‿¯1≡·×1‿2⊏-⟜»)¨⊸/ (⌊`∾¨⊢∾¨(⌊`⌾⌽)) 𝕩} +1‿3‿2 ≡ F ⟨1, 3, 2, 4, 6, 5⟩ +1‿4‿2 ≡ F 3‿1‿4‿2 diff --git a/challenge-196/aecepoglu/bqn/ch-2.bqn b/challenge-196/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..4fb489d060 --- /dev/null +++ b/challenge-196/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,10 @@ +F←{𝕊a: +a≍ tl←1=(⊢-∞»⊢)a # the tails of sequences (all but firsts) +a≍ h←(«>⊢) tl # the heads of squences +# name each group, +# remove anything that doesn't belong to any sequence +# perform grouping +# get rid of empty groups +(0<≠¨)⊸/ a⊔˜(+`h)(×-¬∘⊢)(h∨tl) +} +F¨⊸≍⟨1‿3‿4‿5‿7,1‿2‿3‿6‿7‿9,0‿1‿2‿4‿5‿6‿8‿9⟩ diff --git a/challenge-197/aecepoglu/bqn/ch-1.bqn b/challenge-197/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..38d86f7955 --- /dev/null +++ b/challenge-197/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,2 @@ +n←⟨1, 0, 3, 0, 0, 5⟩ +F←(0⊸≠)⊸(/∾¬⊸/) diff --git a/challenge-197/aecepoglu/bqn/ch-2.bqn b/challenge-197/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..4f8afe0d3a --- /dev/null +++ b/challenge-197/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,4 @@ +n←⟨1,5,1,1,6,4⟩ +∾∾¨´⊢‿⌽{𝕎𝕩}¨<˘2‿∘⥊ ∧⟨1,5,1,1,6,4⟩ + + diff --git a/challenge-198/aecepoglu/bqn/ch-1.bqn b/challenge-198/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..68fa990dc2 --- /dev/null +++ b/challenge-198/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,3 @@ +F←{+´⌈´⊸=-´˘2↕∨𝕩} +2 = F ⟨2,5,8,1⟩ +0 = F ⟨3⟩ diff --git a/challenge-198/aecepoglu/bqn/ch-2.bqn b/challenge-198/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..5539d42f72 --- /dev/null +++ b/challenge-198/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1 @@ +F←{+´¬∨˝(≠∧0=|)⌜˜ x←2↓↕𝕩} diff --git a/challenge-202/aecepoglu/bqn/pt1.bqn b/challenge-202/aecepoglu/bqn/pt1.bqn new file mode 100644 index 0000000000..7688027f62 --- /dev/null +++ b/challenge-202/aecepoglu/bqn/pt1.bqn @@ -0,0 +1,3 @@ +nums←20 •rand.Range 5 + +∨´ ∧´˘ 3↕2| nums diff --git a/challenge-202/aecepoglu/bqn/pt2.bqn b/challenge-202/aecepoglu/bqn/pt2.bqn new file mode 100644 index 0000000000..c985dfdb18 --- /dev/null +++ b/challenge-202/aecepoglu/bqn/pt2.bqn @@ -0,0 +1,12 @@ +Valley←{ + F←{'\'𝕊1 :'/' + ;'\'𝕊· :'\' + ;'/'𝕊¯1:'?' + ;'/'𝕊· :'/' + ; '?'} + '/'='\'F˜´⌽(×⊢-∞⊸»)𝕩 + } +Solution←{ ⊑(Valley¨)⊸/∾⌽<˘¨(2↓·↕1+≠)⊸(↕¨)⟜<𝕩 } +Solution ⟨1,5,5,2,8⟩ +Solution ⟨2,6,8,5⟩ +Solution ⟨9,8,13,13,2,2,15,17⟩ diff --git a/challenge-208/aecepoglu/bqn/ch-1.bqn b/challenge-208/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..c4cfaef72d --- /dev/null +++ b/challenge-208/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,6 @@ +Part1←{list1𝕊list2: + list1 ⊏˜ ⊑¨(⌊´⊸=+´¨)⊸/(≠list2)(⌊∘÷˜⋈¨|)/⥊list1≡⌜list2 +} +"ABC"Part1"CAB" +⟨"Perl", "Raku", "Love"⟩Part1⟨"Raku", "Perl", "Hate","Something"⟩ +"ABC"Part1"DEF" diff --git a/challenge-208/aecepoglu/bqn/ch-2.bqn b/challenge-208/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..ba1743b16a --- /dev/null +++ b/challenge-208/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,4 @@ +Part2←{𝕊n: a←1+↕m←⌈´n ⋄ (⊑¬∘∊⊸/n)⋈(0=≠)◶⟨⊑,m+1⟩ a(¬∘∊/⊣)n }⎊¯1 +Part2 1‿2‿2‿4 +Part2 1‿2‿3‿4 +Part2 1‿2‿3‿3 diff --git a/challenge-209/aecepoglu/bqn/ch-1.bqn b/challenge-209/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..5fc812cf45 --- /dev/null +++ b/challenge-209/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,5 @@ +p←⟨0⟩‿⟨1,0⟩‿⟨1,1⟩ + +Part1←{𝕊bits: g←+`¨⥊↕2⥊˜≠bits ⋄ 0<≠(⟨0⟩≡¯1⊸⊑)¨⊸/(∧´∊⟜p)¨⊸/⊔⟜bits¨g } +Part1 1‿1‿1‿0 +Part1 1‿0‿0‿0 diff --git a/challenge-209/aecepoglu/bqn/ch-2.bqn b/challenge-209/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..58ad61462c --- /dev/null +++ b/challenge-209/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,19 @@ +Part2←{𝕊ac: + g←(1-˜≠¨ac)/(↕≠ac) # groups + e←∾1↓¨ac # emails + n←⊑¨ac # names + h←⊏⟜(⌊´¨g⊸⊔)g⊏˜ ⊐e⋈¨g⊏n # new groups + ((⊑⊏⟜n)¨h⊔g)⋈⊸∾¨(⍷¨h⊔e) +} + +>⋈¨Part2 ⟨ + ⟨"A", "a1@a.com", "a2@a.com"⟩, + ⟨"B", "b1@b.com"⟩, + ⟨"A", "a3@a.com", "a1@a.com"⟩ +⟩ +>⋈¨Part2 ⟨ +⟨"A", "a1@a.com", "a2@a.com"⟩, +⟨"B", "b1@b.com"⟩, +⟨"A", "a3@a.com"⟩, +⟨"B", "b2@b.com", "b1@b.com"⟩ +⟩ diff --git a/challenge-210/aecepoglu/bqn/ch-1.bqn b/challenge-210/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..e952b92017 --- /dev/null +++ b/challenge-210/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1 @@ +Part1←{⌈´+´∘∾˘3↕⊔˜𝕩} diff --git a/challenge-210/aecepoglu/bqn/ch-2.bqn b/challenge-210/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..e9142ef5ed --- /dev/null +++ b/challenge-210/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1 @@ +Part2←{𝕩⊸≡◶𝕊‿⊢ (((>⟜«×)∧(≤⟜«|)) ¬∘∨ ((<⟜»×)∧(≤⟜»|)))⊸/ 𝕩} diff --git a/challenge-211/aecepoglu/bqn/ch-1.bqn b/challenge-211/aecepoglu/bqn/ch-1.bqn new file mode 100644 index 0000000000..10f53fb8b7 --- /dev/null +++ b/challenge-211/aecepoglu/bqn/ch-1.bqn @@ -0,0 +1,13 @@ +# +--------------+ +# | | +# | BQN SOLUTION | +# | | +# +--------------+ +# TASK 1 +Part1 ← {1=∧´(+´∊)¨({⊐⥊-´¨↕≢𝕩}⊔⥊)𝕩} + +Part1 [4‿3‿2‿1 + ,5‿4‿3‿2 + ,6‿5‿4‿3] +Part1 [1‿2‿3 + ,3‿2‿1] diff --git a/challenge-211/aecepoglu/bqn/ch-2.bqn b/challenge-211/aecepoglu/bqn/ch-2.bqn new file mode 100644 index 0000000000..3f1a40997f --- /dev/null +++ b/challenge-211/aecepoglu/bqn/ch-2.bqn @@ -0,0 +1,3 @@ +Part2←{𝕊n:(1≤≠)◶0‿(n⊔˜⊑) {(1=∨´𝕩)∧1=+´∊(+´÷≠)¨𝕩⊔n}¨⊸/⥊↕2⥊˜≠n} +Part2 1‿2‿3‿4‿5‿6‿7‿8 +Part2 1‿3 |
