aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-074/mark-anderson/raku/ch-1.raku21
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-074/mark-anderson/raku/ch-1.raku b/challenge-074/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..f1bf76d679
--- /dev/null
+++ b/challenge-074/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,21 @@
+subset IntArray of Array where .all ~~ Int;
+
+subset NonEmptyIntArray of IntArray where .elems > 0;
+
+unit sub MAIN(*@integers where * ~~ NonEmptyIntArray);
+
+my $bag = bag @integers;
+
+my ($k, $v) = $bag.maxpairs.first.kv;
+
+my $t = $bag.total;
+
+if $v <= $t div 2 {
+ say "-1 as none of the elements appears more than floor($t/2)."
+}
+
+else {
+ my $s = do if $v == 1 { q{} } else { "s" }
+
+ say "$k, as $k appears $v time$s in the list which is more than floor($t/2)."
+}