aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-320/barroff/bqn/ch-1.bqn7
-rw-r--r--challenge-320/barroff/bqn/ch-2.bqn9
-rw-r--r--challenge-320/barroff/raku/ch-1.p625
-rw-r--r--challenge-320/barroff/raku/ch-2.p624
4 files changed, 65 insertions, 0 deletions
diff --git a/challenge-320/barroff/bqn/ch-1.bqn b/challenge-320/barroff/bqn/ch-1.bqn
new file mode 100644
index 0000000000..6d4c23aaf0
--- /dev/null
+++ b/challenge-320/barroff/bqn/ch-1.bqn
@@ -0,0 +1,7 @@
+#/usr/bin/env bqn
+
+MaximumCount ← (+´0⊸<)⌈(+´0⊸>)
+
+•Show MaximumCount ⟨-3, -2, -1, 1, 2, 3⟩
+•Show MaximumCount ⟨-2, -1, 0, 0, 1⟩
+•Show MaximumCount ⟨1, 2, 3, 4⟩
diff --git a/challenge-320/barroff/bqn/ch-2.bqn b/challenge-320/barroff/bqn/ch-2.bqn
new file mode 100644
index 0000000000..242be9da5b
--- /dev/null
+++ b/challenge-320/barroff/bqn/ch-2.bqn
@@ -0,0 +1,9 @@
+#/usr/bin/env bqn
+
+DigitSum ← { (10|𝕩) + (0⊸<)◶ 0‿𝕊 𝕩(⌊∘÷)10 }
+SumDifference ← +´-(+´ DigitSum¨)
+
+•Show SumDifference 1‿23‿4‿5
+•Show SumDifference 1‿2‿3‿4‿5
+•Show SumDifference 1‿2‿34
+•Show SumDifference 236‿416‿336‿350
diff --git a/challenge-320/barroff/raku/ch-1.p6 b/challenge-320/barroff/raku/ch-1.p6
new file mode 100644
index 0000000000..6a4395921b
--- /dev/null
+++ b/challenge-320/barroff/raku/ch-1.p6
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+
+use v6.d;
+
+sub maximum-count(@ints --> Int) {
+ my $p-digits = grep({ $_ > 0 }, @ints).elems;
+ my $n-digits = grep({ $_ < 0 }, @ints).elems;
+ return max($p-digits, $n-digits);
+}
+
+#| Run test cases
+multi sub MAIN('test') {
+ use Test;
+ plan 3;
+
+ is maximum-count([-3, -2, -1, 1, 2, 3]), 3,
+ 'works for "[-3, -2, -1, 1, 2, 3]"';
+ is maximum-count([-2, -1, 0, 0, 1]), 2, 'works for "[-2, -1, 0, 0, 1]"';
+ is maximum-count([1, 2, 3, 4]), 4, 'works for "[1, 2, 3, 4]"';
+}
+
+#| Take user provided numbers like 3, 30, 34, 5, 9
+multi sub MAIN(*@ints) {
+ say maximum-count(@ints);
+}
diff --git a/challenge-320/barroff/raku/ch-2.p6 b/challenge-320/barroff/raku/ch-2.p6
new file mode 100644
index 0000000000..9d7fd3a16c
--- /dev/null
+++ b/challenge-320/barroff/raku/ch-2.p6
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+
+use v6.d;
+
+sub sum-difference(@ints --> Int) {
+ my Int $es = sum(@ints);
+ my Int $ds = sum(@ints.join.comb);
+ return abs($es - $ds);
+}
+
+#| Run test cases
+multi sub MAIN('test') {
+ use Test;
+ plan 3;
+
+ is sum-difference([1, 23, 4, 5]), 18, 'works for "[1, 23, 4, 5]"';
+ is sum-difference([1, 2, 3, 4, 5]), 0, 'works for "[1, 2, 3, 4, 5]"';
+ is sum-difference([1, 2, 34]), 27, 'works for "[1, 2, 34]"';
+}
+
+#| Take user provided numbers like 3, 30, 34, 5, 9
+multi sub MAIN(*@ints) {
+ say sum-difference(@ints);
+}