aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConor Hoekstra <codereport@outlook.com>2025-08-26 15:19:57 -0400
committerConor Hoekstra <codereport@outlook.com>2025-08-26 15:19:57 -0400
commit8a775f233fd24bbc0b65591bb4b6f14c9a1b8fba (patch)
tree6964db5e4647aa0f6ed7166d7c75f0a5ced6d8a3
parent6cfca326e661eda6a7d762110c4918abdc11f54e (diff)
downloadperlweeklychallenge-club-8a775f233fd24bbc0b65591bb4b6f14c9a1b8fba.tar.gz
perlweeklychallenge-club-8a775f233fd24bbc0b65591bb4b6f14c9a1b8fba.tar.bz2
perlweeklychallenge-club-8a775f233fd24bbc0b65591bb4b6f14c9a1b8fba.zip
:sparkles: Week 336 in BQN
-rw-r--r--challenge-336/conor-hoekstra/ch-1.bqn14
-rw-r--r--challenge-336/conor-hoekstra/ch-2.bqn20
2 files changed, 34 insertions, 0 deletions
diff --git a/challenge-336/conor-hoekstra/ch-1.bqn b/challenge-336/conor-hoekstra/ch-1.bqn
new file mode 100644
index 0000000000..fc25c18b8e
--- /dev/null
+++ b/challenge-336/conor-hoekstra/ch-1.bqn
@@ -0,0 +1,14 @@
+# For up to date code:
+# https://github.com/codereport/bqn-code/blob/main/pwc/336-1.bqn
+
+u ⇐ •Import "/home/cph/bqn-test/test.bqn"
+fn ⇐ •Import "/home/cph/bqn-code/lib/fun.bqn"
+
+EqualGroup ← ((∧´0=⌊´⊸|)∧(2≤⌊´))·≠¨fn.Group
+
+# Tests
+u.UnitTest (EqualGroup ⟨1,1,2,2,2,2⟩) ≡ 1
+u.UnitTest (EqualGroup ⟨1,1,1,2,2,2,3,3⟩) ≡ 0
+u.UnitTest (EqualGroup ⟨5,5,5,5,5,5,7,7,7,7,7,7⟩) ≡ 1
+u.UnitTest (EqualGroup ⟨1,2,3,4⟩) ≡ 0
+u.UnitTest (EqualGroup ⟨8,8,9,9,10,10,11,11⟩) ≡ 1
diff --git a/challenge-336/conor-hoekstra/ch-2.bqn b/challenge-336/conor-hoekstra/ch-2.bqn
new file mode 100644
index 0000000000..c4489c7627
--- /dev/null
+++ b/challenge-336/conor-hoekstra/ch-2.bqn
@@ -0,0 +1,20 @@
+# For up to date code:
+# https://github.com/codereport/bqn-code/blob/main/pwc/336-2.bqn
+
+u ⇐ •Import "/home/cph/bqn-test/test.bqn"
+
+Step ← { x 𝕊 nums: {
+ x≡"C" ? 1↓nums ;
+ x≡"D" ? ( 2×⊑nums)∾nums ;
+ x≡"+" ? (+´2↑nums)∾nums ;
+ (•BQN x)∾nums }
+}
+
+FinalScore ← { +´(⋈•BQN ⊑𝕩) Step´ ⌽1↓𝕩 }
+
+# Tests
+u.UnitTest (FinalScore ⟨"5","2","C","D","+"⟩) ≡ 30
+u.UnitTest (FinalScore ⟨"5","-2","4","C","D","9","+","+"⟩) ≡ 27
+u.UnitTest (FinalScore ⟨"7","D","D","C","+","3"⟩) ≡ 45
+u.UnitTest (FinalScore ⟨"-5","-10","+","D","C","+"⟩) ≡ ¯55
+u.UnitTest (FinalScore ⟨"3","6","+","D","C","8","+","D","-2","C","+"⟩) ≡ 128