aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2024-05-27 09:49:15 +0000
committerMark <53903062+andemark@users.noreply.github.com>2024-05-27 09:49:15 +0000
commitfbb35242a2d65fa3727286feac3fccbe94db8e95 (patch)
tree1e47233afd1f36832b28f5ed9ac297abaafc1a88
parent5ea56aa37a9f0b7098302e2acb76c73907c70bde (diff)
downloadperlweeklychallenge-club-fbb35242a2d65fa3727286feac3fccbe94db8e95.tar.gz
perlweeklychallenge-club-fbb35242a2d65fa3727286feac3fccbe94db8e95.tar.bz2
perlweeklychallenge-club-fbb35242a2d65fa3727286feac3fccbe94db8e95.zip
Challenge 271 Solutions (Raku)
-rw-r--r--challenge-271/mark-anderson/raku/ch-1.raku26
-rw-r--r--challenge-271/mark-anderson/raku/ch-2.raku10
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-271/mark-anderson/raku/ch-1.raku b/challenge-271/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..77f1f25ccd
--- /dev/null
+++ b/challenge-271/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,26 @@
+#!/usr/bin/env raku
+use Test;
+
+is max-ones([
+ [0, 1],
+ [1, 0],
+ ]), 1;
+
+is max-ones([
+ [0, 0, 0],
+ [1, 0, 1],
+ ]), 2;
+
+is max-ones([
+ [0, 0],
+ [1, 1],
+ [0, 0],
+ ]), 2;
+
+sub max-ones(@m)
+{
+ @m>>.sum
+ .max(:k) # requires rakudo 2023.08 or later
+ .head
+ .succ
+}
diff --git a/challenge-271/mark-anderson/raku/ch-2.raku b/challenge-271/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..1520a0ad1d
--- /dev/null
+++ b/challenge-271/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,10 @@
+#!/usr/bin/env raku
+use Test;
+
+is-deeply sort-by-one-bits(^9), (0,1,2,4,8,3,5,6,7);
+is-deeply sort-by-one-bits(1024,512,256,128,64), (64,128,256,512,1024);
+
+sub sort-by-one-bits(*@ints)
+{
+ @ints.sort({ .base(2).comb.sum, $_ })
+}