aboutsummaryrefslogtreecommitdiff
path: root/challenge-237
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-10-08 18:52:55 +0100
committerGitHub <noreply@github.com>2023-10-08 18:52:55 +0100
commit65f18becbdf0a98cc1b4d7c1dd0e178d369bee55 (patch)
tree9cc90b339ebd0ff9b4106c45b6596e9616edaa91 /challenge-237
parentee9454e74648ea08eddb4572ae9eaa4903eb8498 (diff)
parent3e620b43e08e38af44c1d35326d516bc1fe7560a (diff)
downloadperlweeklychallenge-club-65f18becbdf0a98cc1b4d7c1dd0e178d369bee55.tar.gz
perlweeklychallenge-club-65f18becbdf0a98cc1b4d7c1dd0e178d369bee55.tar.bz2
perlweeklychallenge-club-65f18becbdf0a98cc1b4d7c1dd0e178d369bee55.zip
Merge pull request #8817 from deadmarshal/TWC237
TWC237
Diffstat (limited to 'challenge-237')
-rw-r--r--challenge-237/deadmarshal/blog.txt1
-rw-r--r--challenge-237/deadmarshal/perl/ch-1.pl13
-rw-r--r--challenge-237/deadmarshal/perl/ch-2.pl18
-rw-r--r--challenge-237/deadmarshal/raku/ch-1.raku14
-rw-r--r--challenge-237/deadmarshal/raku/ch-2.raku15
5 files changed, 61 insertions, 0 deletions
diff --git a/challenge-237/deadmarshal/blog.txt b/challenge-237/deadmarshal/blog.txt
new file mode 100644
index 0000000000..d43adcc94b
--- /dev/null
+++ b/challenge-237/deadmarshal/blog.txt
@@ -0,0 +1 @@
+https://deadmarshal.blogspot.com/2023/10/twc237.html
diff --git a/challenge-237/deadmarshal/perl/ch-1.pl b/challenge-237/deadmarshal/perl/ch-1.pl
new file mode 100644
index 0000000000..1d95346930
--- /dev/null
+++ b/challenge-237/deadmarshal/perl/ch-1.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Date::Calc qw(Nth_Weekday_of_Month_Year);
+
+sub seize_the_day{
+ (Nth_Weekday_of_Month_Year($_[0],$_[1],$_[3],$_[2]))[2] // 0;
+}
+
+printf "%d\n",seize_the_day(2024,4,3,2);
+printf "%d\n",seize_the_day(2025,10,2,4);
+printf "%d\n",seize_the_day(2026,8,5,3);
+
diff --git a/challenge-237/deadmarshal/perl/ch-2.pl b/challenge-237/deadmarshal/perl/ch-2.pl
new file mode 100644
index 0000000000..6668c9c9c8
--- /dev/null
+++ b/challenge-237/deadmarshal/perl/ch-2.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Algorithm::Combinatorics qw(permutations);
+
+sub maximise_greatness{
+ my ($max,$arr) = (0,@_);
+ my $iter = permutations($arr);
+ while(my $c = $iter->next){
+ my $count = grep{$arr->[$_] < $c->[$_]} 0..$#$arr;
+ $max = $count if $count > $max;
+ }
+ $max
+}
+
+printf "%d\n",maximise_greatness([1,3,5,2,1,3,1]);
+printf "%d\n",maximise_greatness([1,2,3,4]);
+
diff --git a/challenge-237/deadmarshal/raku/ch-1.raku b/challenge-237/deadmarshal/raku/ch-1.raku
new file mode 100644
index 0000000000..a9cc35c758
--- /dev/null
+++ b/challenge-237/deadmarshal/raku/ch-1.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+
+sub seize-the-day($y,$m,$mday,$wday)
+{
+ my $d = Date.new(year => $y,month => $m,day => 1);
+ my $diff = abs($wday - $d.day-of-week);
+ $d += (7 * ($mday - 1)) + $diff;
+ $d.month != $m ?? 0 !! $d.day;
+}
+
+say seize-the-day(2024,4,3,2);
+say seize-the-day(2025,10,2,4);
+say seize-the-day(2026,8,5,3);
+
diff --git a/challenge-237/deadmarshal/raku/ch-2.raku b/challenge-237/deadmarshal/raku/ch-2.raku
new file mode 100644
index 0000000000..8b46e51eb5
--- /dev/null
+++ b/challenge-237/deadmarshal/raku/ch-2.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/env raku
+
+sub maximise-greatness(@arr)
+{
+ my $max = 0;
+ for @arr.permutations -> @perm {
+ my $count = (0..@arr.end).grep({@arr[$_] < @perm[$_]}).elems;
+ $max = $count if $count > $max;
+ }
+ $max
+}
+
+say maximise-greatness([1,3,5,2,1,3,1]);
+say maximise-greatness([1,2,3,4]);
+