aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-23 11:39:08 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-23 11:39:08 +0100
commit7271a79c190571b108dbd00b3b7e6383f05111f3 (patch)
tree7bd354c9743494d612c4eee92f1f955f7dea66e4
parent52c15e7b5c6916cd1d11f78b9c54c94fbf7a8511 (diff)
downloadperlweeklychallenge-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.p68
-rw-r--r--challenge-057/mohammad-anwar/raku/ch-2a.p68
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;
}
}