diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-08-17 10:04:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-17 10:04:53 +0100 |
| commit | acab8434debdf560c67fa23826c2b5c5f6e46441 (patch) | |
| tree | d410040d107c15605c18cb0671ec671c62f16625 | |
| parent | b220e85fa6216f3a384c7ee1a29d9d827f6a7fdc (diff) | |
| parent | c97bde3ea44f3fd9a4ece6f2f8739ed9853401d0 (diff) | |
| download | perlweeklychallenge-club-acab8434debdf560c67fa23826c2b5c5f6e46441.tar.gz perlweeklychallenge-club-acab8434debdf560c67fa23826c2b5c5f6e46441.tar.bz2 perlweeklychallenge-club-acab8434debdf560c67fa23826c2b5c5f6e46441.zip | |
Merge pull request #2090 from andemark/branch-for-challenge-074
Challenge 74 Solutions
| -rw-r--r-- | challenge-074/mark-anderson/raku/ch-2.raku | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-074/mark-anderson/raku/ch-2.raku b/challenge-074/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..2447d5f9a5 --- /dev/null +++ b/challenge-074/mark-anderson/raku/ch-2.raku @@ -0,0 +1,25 @@ +unit sub MAIN($string); + +my %seen; +my $singles; + +my @first-non-repeatings = gather { + for 1..$string.chars -> $i { + my $letter = $string.substr($i-1, 1); + + %seen{$letter}++; + + if %seen{$letter} == 1 { + $singles ~= $letter; + take $letter; + } + + else { + my $idx = $singles.index($letter); + $singles = $singles.substr(0, $idx) ~ $singles.substr($idx+1); + take $singles.substr($singles.chars-1, 1) // "#"; + } + } +} + +say @first-non-repeatings.join; |
