diff --git a/challenge-355/ash/raku/ch-1.raku b/challenge-355/ash/raku/ch-1.raku new file mode 100644 index 0000000000..d4ef058c81 --- /dev/null +++ b/challenge-355/ash/raku/ch-1.raku @@ -0,0 +1,12 @@ +# Task 1 of The Weekly Challenge 355 +# https://theweeklychallenge.org/blog/perl-weekly-challenge-355/#TASK1 + +say split-groups 1234; # 1,234 +say split-groups 1000000; # 1,000,000 +say split-groups 1; # 1 +say split-groups 12345; # 12,345 + + +sub split-groups($n) { + $n.flip.comb(3).join(',').flip +} diff --git a/challenge-355/ash/raku/ch-2.raku b/challenge-355/ash/raku/ch-2.raku new file mode 100644 index 0000000000..847963e129 --- /dev/null +++ b/challenge-355/ash/raku/ch-2.raku @@ -0,0 +1,18 @@ +# Task 2 of The Weekly Challenge 355 +# https://theweeklychallenge.org/blog/perl-weekly-challenge-355/#TASK2 + +say is-mountain 1, 2, 3, 4, 5; # False +say is-mountain 0, 2, 4, 6, 4, 2, 0; # True +say is-mountain 5, 4, 3, 2, 1; # False +say is-mountain 1, 3, 5, 5, 4, 2; # False +say is-mountain 1, 3, 2; # True + +sub is-mountain(*@data) { + return False if @data.elems < 3; + + for 1 .. @data.end - 1 -> $i { + return True if ([<] @data[0..$i]) && ([>] @data[$i..@data.end]); + } + + return False; +}