diff options
| author | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-08-18 09:33:57 +0100 |
|---|---|---|
| committer | Simon Proctor <simon.proctor@zoopla.co.uk> | 2020-08-18 09:33:57 +0100 |
| commit | 083dff7c33ac815a5ee0b37ed60796e1cd63d82d (patch) | |
| tree | c90ba955d5519a01e105e376c2ef0313d057344b | |
| parent | cff2a058684122fdb3c68858dc6b46bcceaa1d06 (diff) | |
| download | perlweeklychallenge-club-083dff7c33ac815a5ee0b37ed60796e1cd63d82d.tar.gz perlweeklychallenge-club-083dff7c33ac815a5ee0b37ed60796e1cd63d82d.tar.bz2 perlweeklychallenge-club-083dff7c33ac815a5ee0b37ed60796e1cd63d82d.zip | |
So... still don't get why it's FNR but this matches the spec
| -rw-r--r-- | challenge-074/simon-proctor/raku/ch-2.raku | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-074/simon-proctor/raku/ch-2.raku b/challenge-074/simon-proctor/raku/ch-2.raku new file mode 100644 index 0000000000..8d9d133b5f --- /dev/null +++ b/challenge-074/simon-proctor/raku/ch-2.raku @@ -0,0 +1,29 @@ +#!/usr/bin/env raku + +use v6; + +#| Given a string print the FNR character for each sub string +#| Prints # if there isn't one at a given point +sub MAIN ( Str $input ) { + my @codes = $input.comb; + my @in; + my @out; + + for @codes -> $c { + @in.push($c); + @out.push(fnr(@in)); + } + + say @out.join(""); +} + +sub fnr ( @values ) { + my $counts = bag(@values); + + for @values.reverse -> $v { + return $v if $counts{$v} ~~ 1; + } + + return '#'; +} + |
