aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-01-18 22:08:37 +0000
committerGitHub <noreply@github.com>2025-01-18 22:08:37 +0000
commit9ebef1715203724be5e0d0b05477f3fa4eca2e27 (patch)
treee7d24e271b8575ad6d40f552261ca95ddabc3b30
parent066ba0dfd3a74b8b01fae9a1bc0d69291397ed99 (diff)
parent37f25295d6d2f6e5246516d0683bc8eccd1be806 (diff)
downloadperlweeklychallenge-club-9ebef1715203724be5e0d0b05477f3fa4eca2e27.tar.gz
perlweeklychallenge-club-9ebef1715203724be5e0d0b05477f3fa4eca2e27.tar.bz2
perlweeklychallenge-club-9ebef1715203724be5e0d0b05477f3fa4eca2e27.zip
Merge pull request #11455 from andemark/challenge-304
ch-1.raku do-over
-rw-r--r--challenge-304/mark-anderson/raku/ch-1.raku25
1 files changed, 17 insertions, 8 deletions
diff --git a/challenge-304/mark-anderson/raku/ch-1.raku b/challenge-304/mark-anderson/raku/ch-1.raku
index 0ac6806bad..1c8e523a8d 100644
--- a/challenge-304/mark-anderson/raku/ch-1.raku
+++ b/challenge-304/mark-anderson/raku/ch-1.raku
@@ -3,15 +3,24 @@ use Test;
ok arrange-binary([1,0,0,0,1], 1);
nok arrange-binary([1,0,0,0,1], 2);
-nok arrange-binary([0,0,0,1,0,0,0,0,1,0,0], 4);
-nok arrange-binary([0,0,0,1,0,0,0,1,0,0,0], 4);
-ok arrange-binary([0,0,0,1,0,0,0,1,0,0,0], 3);
-nok arrange-binary([0,0,1,0,0,0,0,1,0,0,0], 3);
+
+# E Choroba tests
+ok arrange-binary([1,0,0], 1);
+ok arrange-binary([0,0,1], 1);
+nok arrange-binary([1,0,0,0,0,1], 2);
+ok arrange-binary([1,0,0,0,0,0,1], 2);
+ok arrange-binary([0,0,0,0,0], 3);
+nok arrange-binary([0,0,0,0,0], 4);
sub arrange-binary(@ints, $n)
{
- return False unless @ints.join ~~ m:g/00/ >= $n;
- my $even = @ints.first(1,:k) %% 2;
- my @mask = (flat $even ?? (0,1) xx * !! (1,0) xx *).head(@ints);
- return not @mask.join.parse-base(2) +& @ints.join.parse-base(2)
+ my $str = [~] @ints;
+
+ return False if $str ~~ /11/;
+
+ return .elems >= $n given do loop
+ {
+ last unless $str ~~ s/<!after 1> 0 <!before 1>/1/;
+ 1
+ }
}