diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-07-07 14:22:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-07 14:22:12 +0100 |
| commit | 519bdd06938fffef62493bfc05bbf4e7e3e6d15d (patch) | |
| tree | efdf740c807d566d2ecc57c79bfee895a7b259ba | |
| parent | 5a06549e3463681fb9954f3873e19a151de342d4 (diff) | |
| parent | 293a00f4598c458f1746d49def1216325c0707a4 (diff) | |
| download | perlweeklychallenge-club-519bdd06938fffef62493bfc05bbf4e7e3e6d15d.tar.gz perlweeklychallenge-club-519bdd06938fffef62493bfc05bbf4e7e3e6d15d.tar.bz2 perlweeklychallenge-club-519bdd06938fffef62493bfc05bbf4e7e3e6d15d.zip | |
Merge pull request #10377 from arnesom/branch-for-challenge-276
Arne Sommer
| -rw-r--r-- | challenge-276/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-276/arne-sommer/raku/ch-1.raku | 20 | ||||
| -rwxr-xr-x | challenge-276/arne-sommer/raku/ch-2.raku | 12 | ||||
| -rwxr-xr-x | challenge-276/arne-sommer/raku/complete-day | 20 | ||||
| -rwxr-xr-x | challenge-276/arne-sommer/raku/maximum-frequency | 12 |
5 files changed, 65 insertions, 0 deletions
diff --git a/challenge-276/arne-sommer/blog.txt b/challenge-276/arne-sommer/blog.txt new file mode 100644 index 0000000000..ef8c6c9418 --- /dev/null +++ b/challenge-276/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/complete-maximum.html diff --git a/challenge-276/arne-sommer/raku/ch-1.raku b/challenge-276/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..434236044a --- /dev/null +++ b/challenge-276/arne-sommer/raku/ch-1.raku @@ -0,0 +1,20 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@hours where all(@hours) ~~ UInt && @hours.elems > 1, + :v(:$verbose)); + +my $pairs = 0; + +for @hours.combinations(2) -> ($first, $second) +{ + next if $first == $second == 0; + + if ($first + $second) %% 24 + { + $pairs++; + + say ": Pair $pairs: ($first, $second)" if $verbose; + } +} + +say $pairs; diff --git a/challenge-276/arne-sommer/raku/ch-2.raku b/challenge-276/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..48749762a9 --- /dev/null +++ b/challenge-276/arne-sommer/raku/ch-2.raku @@ -0,0 +1,12 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where all(@ints) ~~ Int && all(@ints) > 0 && @ints.elems > 0, + :v(:$verbose)); + +my $bag = @ints.Bag; + +my $max-freq = $bag.values.max; + +say ": The maximum frequency is $max-freq" if $verbose; + +say $bag.grep( *.value == $max-freq ) * $max-freq; diff --git a/challenge-276/arne-sommer/raku/complete-day b/challenge-276/arne-sommer/raku/complete-day new file mode 100755 index 0000000000..434236044a --- /dev/null +++ b/challenge-276/arne-sommer/raku/complete-day @@ -0,0 +1,20 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@hours where all(@hours) ~~ UInt && @hours.elems > 1, + :v(:$verbose)); + +my $pairs = 0; + +for @hours.combinations(2) -> ($first, $second) +{ + next if $first == $second == 0; + + if ($first + $second) %% 24 + { + $pairs++; + + say ": Pair $pairs: ($first, $second)" if $verbose; + } +} + +say $pairs; diff --git a/challenge-276/arne-sommer/raku/maximum-frequency b/challenge-276/arne-sommer/raku/maximum-frequency new file mode 100755 index 0000000000..48749762a9 --- /dev/null +++ b/challenge-276/arne-sommer/raku/maximum-frequency @@ -0,0 +1,12 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where all(@ints) ~~ Int && all(@ints) > 0 && @ints.elems > 0, + :v(:$verbose)); + +my $bag = @ints.Bag; + +my $max-freq = $bag.values.max; + +say ": The maximum frequency is $max-freq" if $verbose; + +say $bag.grep( *.value == $max-freq ) * $max-freq; |
