aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-11-24 14:44:32 +0000
committerGitHub <noreply@github.com>2025-11-24 14:44:32 +0000
commite66f54add2cc3f050ef890dd59217a49a6046af1 (patch)
tree26e1e682e5e796d82aa291c600fad4e1fde8aa0e
parenta997f8d29e50aa89a69c616cd6ab5e01fe9105f7 (diff)
parent8666968b6a530993973aa99ff47d5d4d41e0f259 (diff)
downloadperlweeklychallenge-club-e66f54add2cc3f050ef890dd59217a49a6046af1.tar.gz
perlweeklychallenge-club-e66f54add2cc3f050ef890dd59217a49a6046af1.tar.bz2
perlweeklychallenge-club-e66f54add2cc3f050ef890dd59217a49a6046af1.zip
Merge pull request #13079 from andemark/challenge-349
Challenge 349 Solutions (Raku)
-rw-r--r--challenge-349/mark-anderson/raku/ch-1.raku10
-rw-r--r--challenge-349/mark-anderson/raku/ch-2.raku22
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-349/mark-anderson/raku/ch-1.raku b/challenge-349/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..86cbe316c5
--- /dev/null
+++ b/challenge-349/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,10 @@
+#!/usr/bin/env raku
+use Test;
+
+is power-string("textbook"), 2;
+is power-string("aaaaa"), 5;
+is power-string("hoorayyy"), 3;
+is power-string("x"), 1;
+is power-string("aabcccddeeffffghijjk"), 4;
+
+sub power-string($str) { ($str ~~ m:g/(.) $0*/)>>.chars.max }
diff --git a/challenge-349/mark-anderson/raku/ch-2.raku b/challenge-349/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..bfcbe338b0
--- /dev/null
+++ b/challenge-349/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,22 @@
+#!/usr/bin/env raku
+use Test;
+
+nok meeting-point("ULD");
+ok meeting-point("ULDR");
+nok meeting-point("UUURRRDDD");
+ok meeting-point("UURRRDDLLL");
+ok meeting-point("RRUULLDDRRUU");
+
+sub meeting-point($path)
+{
+ my @path = $path.comb;
+ my $bag = BagHash.new;
+
+ while @path
+ {
+ $bag.add: @path.shift;
+ return True if all .<L> == .<R>, .<U> == .<D> given $bag
+ }
+
+ return False
+}