aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-080/simon-proctor/raku/ch-1.raku11
-rw-r--r--challenge-080/simon-proctor/raku/ch-2.raku13
2 files changed, 24 insertions, 0 deletions
diff --git a/challenge-080/simon-proctor/raku/ch-1.raku b/challenge-080/simon-proctor/raku/ch-1.raku
new file mode 100644
index 0000000000..2b86522724
--- /dev/null
+++ b/challenge-080/simon-proctor/raku/ch-1.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+
+use v6;
+
+#| Given a list of integers find the first positive integer not in the list.
+sub MAIN (
+ *@N where { $_.all ~~ Int } #= List of integers
+) {
+ say (1...*).first( * !~~ any(@N) );
+
+}
diff --git a/challenge-080/simon-proctor/raku/ch-2.raku b/challenge-080/simon-proctor/raku/ch-2.raku
new file mode 100644
index 0000000000..8da6fa6e0c
--- /dev/null
+++ b/challenge-080/simon-proctor/raku/ch-2.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+
+use v6;
+
+#| Given a list of scores work out how many candies you need given these rules :
+#| a) You must given at least one candy to each candidate.
+#| b) Candidate with higher ranking get more candies than their mmediate neighbors on either side.
+sub MAIN (
+ *@N where { $_.all ~~ Int } #= List of scores
+) {
+ my $max = @N.max + 1;
+ say [+] ($max, |@N, $max).rotor(3 => -2).map( -> ($l, $c, $r ) { [+] ($c > $l, 1, $c > $r ) } )
+}