aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Anderson <mark@andemark.io>2025-10-13 11:36:20 +0000
committerMark Anderson <mark@andemark.io>2025-10-13 11:36:20 +0000
commit5f78067ad5ca27c51b3552cabb519d438f1f31b7 (patch)
tree1165fd5ccbc4dbdd288883310eccf182892cbd97
parent974ae74465433fe15c129c190d608723a229402a (diff)
downloadperlweeklychallenge-club-5f78067ad5ca27c51b3552cabb519d438f1f31b7.tar.gz
perlweeklychallenge-club-5f78067ad5ca27c51b3552cabb519d438f1f31b7.tar.bz2
perlweeklychallenge-club-5f78067ad5ca27c51b3552cabb519d438f1f31b7.zip
Challenge 343 Solutions (Raku)
-rw-r--r--challenge-343/mark-anderson/raku/ch-1.raku29
1 files changed, 6 insertions, 23 deletions
diff --git a/challenge-343/mark-anderson/raku/ch-1.raku b/challenge-343/mark-anderson/raku/ch-1.raku
index 6d33d7d896..756460f1e5 100644
--- a/challenge-343/mark-anderson/raku/ch-1.raku
+++ b/challenge-343/mark-anderson/raku/ch-1.raku
@@ -1,30 +1,13 @@
#!/usr/bin/env raku
use Test;
-is zero-friend(4, 2, -1, 3, -2), 1;
-is zero-friend(-5, 5, -3, 3, -1, 1), 1;
-is zero-friend(7, -3, 0, 2, -8), 0;
-is zero-friend(-2, -5, -1, -8), 1;
-is zero-friend(-2, 2, -4, 4, -1, 1), 1;
-
-is zero-friend-alt(4, 2, -1, 3, -2), -1;
-is zero-friend-alt(-5, 5, -3, 3, -1, 1), 1;
-is zero-friend-alt(7, -3, 0, 2, -8), 0;
-is zero-friend-alt(-2, -5, -1, -8), -1;
-is zero-friend-alt(-2, 2, -4, 4, -1, 1), 1;
+is zero-friend(4, 2, -1, 3, -2), 1;
+is zero-friend(-5, 5, -3, 3, -1, 1), 1;
+is zero-friend(7, -3, 0, 2, -8), 0;
+is zero-friend(-2, -5, -1, -8), 1;
+is zero-friend(-2, 2, -4, 4, -1, 1), 1;
sub zero-friend(+@nums)
{
- @nums.map(*.abs).min
-}
-
-# I think this alternate solution matches the instructions better.
-# I meant to email Mohammad for clarification before the deadline
-# but I forgot.
-
-sub zero-friend-alt(+@nums)
-{
- my %c := { -1 => [], 0 => [], 1 => [] }
- %c = @nums.classify: { .sign }, :into(%c);
- (%c<-1>.max, %c<0>.min, %c<1>.min).sort({ .abs, -.sign }).head
+ @nums.map(*.abs).min
}