aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-271/wambash/raku/ch-1.raku19
-rw-r--r--challenge-271/wambash/raku/ch-2.raku14
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-271/wambash/raku/ch-1.raku b/challenge-271/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..d0d4e6b7d7
--- /dev/null
+++ b/challenge-271/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub maximum-ones (+matrix) {
+ matrix
+ andthen .max: *.sum, :k
+ andthen .head + 1
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is maximum-ones(<0 1>,<1 0>),1;
+ is maximum-ones((0,0,0),(1,0,1)),2;
+ is maximum-ones(0,0;1,1;0,0),2;
+ done-testing;
+}
+
+multi MAIN (+matrix) {
+ say maximum-ones matrix.map: *.comb.cache
+}
diff --git a/challenge-271/wambash/raku/ch-2.raku b/challenge-271/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..e9e5ce90a3
--- /dev/null
+++ b/challenge-271/wambash/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+
+my &sort-by-one-bits = &sort.assuming: { .polymod( 2 xx * ).sum => $_ };
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is sort-by-one-bits(0..8),(0,1,2,4,8,3,5,6,7);
+ is sort-by-one-bits((1024,512,256,128,64)), (64,128,256,512,1024);
+ done-testing;
+}
+
+multi MAIN (+ints) {
+ put sort-by-one-bits ints
+}