aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraecepoglu <aecepoglu@fastmail.fm>2023-05-31 00:14:03 +0100
committeraecepoglu <aecepoglu@fastmail.fm>2023-05-31 00:14:03 +0100
commit5bf49191208c9652ab67442b4c9e4361196d1d92 (patch)
tree4ffb4399eb961302df987edf9f8af7bfbea8c4ba
parenta44bd8ba4999bfbf35e643397939100a8105d3bb (diff)
downloadperlweeklychallenge-club-5bf49191208c9652ab67442b4c9e4361196d1d92.tar.gz
perlweeklychallenge-club-5bf49191208c9652ab67442b4c9e4361196d1d92.tar.bz2
perlweeklychallenge-club-5bf49191208c9652ab67442b4c9e4361196d1d92.zip
aecepoglu solutions for 179-211
-rw-r--r--challenge-179/aecepoglu/bqn/ch-1.bqn17
-rw-r--r--challenge-179/aecepoglu/bqn/ch-2.bqn2
-rw-r--r--challenge-179/aecepoglu/bqn/ch-2.js8
-rw-r--r--challenge-189/aecepoglu/bqn/ch-1.bqn4
-rw-r--r--challenge-189/aecepoglu/bqn/ch-2.bqn8
-rw-r--r--challenge-190/aecepoglu/bqn/ch-1.bqn5
-rw-r--r--challenge-190/aecepoglu/bqn/ch-2.bqn8
-rw-r--r--challenge-191/aecepoglu/bqn/ch-1.bqn6
-rw-r--r--challenge-193/aecepoglu/bqn/ch-1.bqn2
-rw-r--r--challenge-193/aecepoglu/bqn/ch-2.bqn4
-rw-r--r--challenge-194/aecepoglu/bqn/ch-1.bqn9
-rw-r--r--challenge-194/aecepoglu/bqn/ch-2.bqn3
-rw-r--r--challenge-195/aecepoglu/bqn/ch-1.bqn2
-rw-r--r--challenge-195/aecepoglu/bqn/ch-2.bqn5
-rw-r--r--challenge-196/aecepoglu/bqn/ch-1.bqn31
-rw-r--r--challenge-196/aecepoglu/bqn/ch-2.bqn10
-rw-r--r--challenge-197/aecepoglu/bqn/ch-1.bqn2
-rw-r--r--challenge-197/aecepoglu/bqn/ch-2.bqn4
-rw-r--r--challenge-198/aecepoglu/bqn/ch-1.bqn3
-rw-r--r--challenge-198/aecepoglu/bqn/ch-2.bqn1
-rw-r--r--challenge-202/aecepoglu/bqn/pt1.bqn3
-rw-r--r--challenge-202/aecepoglu/bqn/pt2.bqn12
-rw-r--r--challenge-208/aecepoglu/bqn/ch-1.bqn6
-rw-r--r--challenge-208/aecepoglu/bqn/ch-2.bqn4
-rw-r--r--challenge-209/aecepoglu/bqn/ch-1.bqn5
-rw-r--r--challenge-209/aecepoglu/bqn/ch-2.bqn19
-rw-r--r--challenge-210/aecepoglu/bqn/ch-1.bqn1
-rw-r--r--challenge-210/aecepoglu/bqn/ch-2.bqn1
-rw-r--r--challenge-211/aecepoglu/bqn/ch-1.bqn13
-rw-r--r--challenge-211/aecepoglu/bqn/ch-2.bqn3
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