aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-08-18 09:42:47 +0100
committerGitHub <noreply@github.com>2020-08-18 09:42:47 +0100
commitfe59e1e62ae4297487330869801de6778436c437 (patch)
tree778f24e056b1bf233f6225c0d8e199a0aacd5a7b
parentfaf3bf138a80f64536a792015dc2e3725ee67d72 (diff)
parent083dff7c33ac815a5ee0b37ed60796e1cd63d82d (diff)
downloadperlweeklychallenge-club-fe59e1e62ae4297487330869801de6778436c437.tar.gz
perlweeklychallenge-club-fe59e1e62ae4297487330869801de6778436c437.tar.bz2
perlweeklychallenge-club-fe59e1e62ae4297487330869801de6778436c437.zip
Merge pull request #2103 from Scimon/master
So... still don't get why it's FNR but this matches the spec
-rw-r--r--challenge-074/simon-proctor/raku/ch-2.raku29
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 '#';
+}
+