aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-08-17 17:54:33 +0100
committerGitHub <noreply@github.com>2020-08-17 17:54:33 +0100
commit995da1697ffec854a2794aad4c40ef73e19b6f82 (patch)
tree0b81a4ef94aadd85e1a32f7643696c9aaaf8cc07
parent74729414de38358703031df835ee4e5bb25f9731 (diff)
parent6b7ad5180a7dbcd24b47c08c2be7c3ec51989556 (diff)
downloadperlweeklychallenge-club-995da1697ffec854a2794aad4c40ef73e19b6f82.tar.gz
perlweeklychallenge-club-995da1697ffec854a2794aad4c40ef73e19b6f82.tar.bz2
perlweeklychallenge-club-995da1697ffec854a2794aad4c40ef73e19b6f82.zip
Merge pull request #2099 from andemark/branch-for-challenge-074
ch-2.raku
-rw-r--r--challenge-074/mark-anderson/raku/ch-2.raku16
1 files changed, 7 insertions, 9 deletions
diff --git a/challenge-074/mark-anderson/raku/ch-2.raku b/challenge-074/mark-anderson/raku/ch-2.raku
index c572e643c3..8e8f0a9b99 100644
--- a/challenge-074/mark-anderson/raku/ch-2.raku
+++ b/challenge-074/mark-anderson/raku/ch-2.raku
@@ -1,31 +1,29 @@
sub MAIN($string) {
my @fnr-chars = gather {
for 1..$string.chars -> $i {
- take fnr($string.substr(0, $i));
+ take fnr($string.substr($i-1, 1));
}
}
say @fnr-chars.join;
}
-sub fnr($string) {
+sub fnr($letter) {
state %seen;
- state $singles;
-
- my $letter = $string.substr($string.chars-1, 1);
+ state $fnr-chars;
%seen{$letter}++;
given %seen{$letter} {
when 1 {
- $singles ~= $letter;
+ $fnr-chars ~= $letter;
return $letter;
}
when 2 {
- my $idx = $singles.index($letter);
- $singles = $singles.substr(0, $idx) ~ $singles.substr($idx+1);
+ my $idx = $fnr-chars.index($letter);
+ $fnr-chars = $fnr-chars.substr(0, $idx) ~ $fnr-chars.substr($idx+1);
}
}
- return $singles.substr($singles.chars-1, 1) // "#";
+ return $fnr-chars.substr($fnr-chars.chars-1, 1) // "#";
}