aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2022-12-05 11:36:09 +0000
committerMark <53903062+andemark@users.noreply.github.com>2022-12-05 11:36:09 +0000
commit99df15e18aed3f1fd87423712dff01844049e45d (patch)
tree7715fa27030a2c9219b9e63739450a08e847376d
parent8d4ad39acceae6916068d7661648e075877837cc (diff)
downloadperlweeklychallenge-club-99df15e18aed3f1fd87423712dff01844049e45d.tar.gz
perlweeklychallenge-club-99df15e18aed3f1fd87423712dff01844049e45d.tar.bz2
perlweeklychallenge-club-99df15e18aed3f1fd87423712dff01844049e45d.zip
Challenge 194 Solutions (Raku)
-rw-r--r--challenge-194/mark-anderson/raku/ch-1.raku24
-rw-r--r--challenge-194/mark-anderson/raku/ch-2.raku14
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-194/mark-anderson/raku/ch-1.raku b/challenge-194/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..d7767f44af
--- /dev/null
+++ b/challenge-194/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+use Test;
+
+is digital-clock('?5:00'), 1;
+is digital-clock('?3:00'), 2;
+is digital-clock('1?:00'), 9;
+is digital-clock('2?:00'), 3;
+is digital-clock('12:?5'), 5;
+is digital-clock('12:5?'), 9;
+
+sub digital-clock($t)
+{
+ return do given $t.index('?')
+ {
+ when 4 { 9 }
+ when 3 { 5 }
+ default
+ {
+ my $d = $t ~~ m:1st/\d/;
+ when 1 { $d < 2 ?? 9 !! 3 }
+ default { $d < 4 ?? 2 !! 1 }
+ }
+ }
+}
diff --git a/challenge-194/mark-anderson/raku/ch-2.raku b/challenge-194/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..b739dd9bf3
--- /dev/null
+++ b/challenge-194/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+use Test;
+
+ok freq-equalizer('abbc');
+ok freq-equalizer('xyzyyxz');
+nok freq-equalizer('xzxz');
+ok freq-equalizer('xxxxx');
+
+sub freq-equalizer($_)
+{
+ my $bag = .comb.BagHash;
+ $bag{ $bag.antipairs.max.value }--;
+ [==] $bag.values;
+}