diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-04-23 11:39:08 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-04-23 11:39:08 +0100 |
| commit | 7271a79c190571b108dbd00b3b7e6383f05111f3 (patch) | |
| tree | 7bd354c9743494d612c4eee92f1f955f7dea66e4 | |
| parent | 52c15e7b5c6916cd1d11f78b9c54c94fbf7a8511 (diff) | |
| download | perlweeklychallenge-club-7271a79c190571b108dbd00b3b7e6383f05111f3.tar.gz perlweeklychallenge-club-7271a79c190571b108dbd00b3b7e6383f05111f3.tar.bz2 perlweeklychallenge-club-7271a79c190571b108dbd00b3b7e6383f05111f3.zip | |
- Updated solutions.
| -rw-r--r-- | challenge-057/mohammad-anwar/raku/ch-2.p6 | 8 | ||||
| -rw-r--r-- | challenge-057/mohammad-anwar/raku/ch-2a.p6 | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/challenge-057/mohammad-anwar/raku/ch-2.p6 b/challenge-057/mohammad-anwar/raku/ch-2.p6 index 96d5405f76..749a14ca4b 100644 --- a/challenge-057/mohammad-anwar/raku/ch-2.p6 +++ b/challenge-057/mohammad-anwar/raku/ch-2.p6 @@ -9,9 +9,13 @@ sub shortest-unique-prefix($words where .all ~~ Str) { my $l = $word.chars; while $i < $l { my $char = $word.substr(0, $i); - my $count = $words.grep({ m/^$char/ }).elems; + # before : + # my $count = $words.grep({ m/^$char/ }).elems; + # after : suggested by @HrBollermann + my $count = $words.grep( *.starts-with( $char ) ).elems; - $count > 1 && $i++ and next; + $i++; + next if $count > 1; $p.push: $char and last; } } diff --git a/challenge-057/mohammad-anwar/raku/ch-2a.p6 b/challenge-057/mohammad-anwar/raku/ch-2a.p6 index 8d39ce40b7..0e32eda5b4 100644 --- a/challenge-057/mohammad-anwar/raku/ch-2a.p6 +++ b/challenge-057/mohammad-anwar/raku/ch-2a.p6 @@ -21,9 +21,13 @@ sub shortest-unique-prefix($words where .all ~~ Str) { my $l = $word.chars; while $i < $l { my $char = $word.substr(0, $i); - my $count = $words.grep({ m/^$char/ }).elems; + # before : + # my $count = $words.grep({ m/^$char/ }).elems; + # after : suggested by @HrBollermann + my $count = $words.grep( *.starts-with( $char ) ).elems; - $count > 1 && $i++ and next; + $i++; + next if $count > 1; $p.push: $char and last; } } |
