diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-10-08 18:52:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-08 18:52:55 +0100 |
| commit | 65f18becbdf0a98cc1b4d7c1dd0e178d369bee55 (patch) | |
| tree | 9cc90b339ebd0ff9b4106c45b6596e9616edaa91 /challenge-237 | |
| parent | ee9454e74648ea08eddb4572ae9eaa4903eb8498 (diff) | |
| parent | 3e620b43e08e38af44c1d35326d516bc1fe7560a (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rw-r--r-- | challenge-237/deadmarshal/perl/ch-1.pl | 13 | ||||
| -rw-r--r-- | challenge-237/deadmarshal/perl/ch-2.pl | 18 | ||||
| -rw-r--r-- | challenge-237/deadmarshal/raku/ch-1.raku | 14 | ||||
| -rw-r--r-- | challenge-237/deadmarshal/raku/ch-2.raku | 15 |
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]); + |
