diff options
| author | Arne Sommer <arne@bbop.org> | 2025-09-10 20:38:25 +0200 |
|---|---|---|
| committer | Arne Sommer <arne@bbop.org> | 2025-09-10 20:38:25 +0200 |
| commit | 04dc06c3e8c247a89034b327d4a74d3d62621f67 (patch) | |
| tree | 7ebf8058c0258738e4105ca9b2bcdb864e20d583 | |
| parent | cbd90aa6a20f143f15329c13fdfa425824709915 (diff) | |
| download | perlweeklychallenge-club-04dc06c3e8c247a89034b327d4a74d3d62621f67.tar.gz perlweeklychallenge-club-04dc06c3e8c247a89034b327d4a74d3d62621f67.tar.bz2 perlweeklychallenge-club-04dc06c3e8c247a89034b327d4a74d3d62621f67.zip | |
week 338 Arne Sommer
| -rw-r--r-- | challenge-338/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-338/arne-sommer/raku/ch-1.raku | 15 | ||||
| -rwxr-xr-x | challenge-338/arne-sommer/raku/ch-2.raku | 12 | ||||
| -rwxr-xr-x | challenge-338/arne-sommer/raku/highest-row | 15 | ||||
| -rwxr-xr-x | challenge-338/arne-sommer/raku/max-distance | 12 |
5 files changed, 55 insertions, 0 deletions
diff --git a/challenge-338/arne-sommer/blog.txt b/challenge-338/arne-sommer/blog.txt new file mode 100644 index 0000000000..8c55eeb7db --- /dev/null +++ b/challenge-338/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/row-distance.html
\ No newline at end of file diff --git a/challenge-338/arne-sommer/raku/ch-1.raku b/challenge-338/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..aa5cacd248 --- /dev/null +++ b/challenge-338/arne-sommer/raku/ch-1.raku @@ -0,0 +1,15 @@ +#! /usr/bin/env raku + +unit sub MAIN ($matrix, :v(:$verbose)); + +my @matrix = $matrix.split("|")>>.words>>.Numeric; + +die "Uneven row length" unless [==] @matrix>>.elems; + +die "Non numeric value(s) in the matrix" unless all(@matrix[*;*]) ~~ Numeric; + +my @sum = @matrix>>.sum; + +say ": Row sums: { @sum.join(",") }" if $verbose; + +say @sum.max; diff --git a/challenge-338/arne-sommer/raku/ch-2.raku b/challenge-338/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..c14dbcc8f5 --- /dev/null +++ b/challenge-338/arne-sommer/raku/ch-2.raku @@ -0,0 +1,12 @@ +#! /usr/bin/env raku + +unit sub MAIN ($arr1, $arr2); + +my @arr1 = $arr1.words>>.Int; +my @arr2 = $arr2.words>>.Int; + +die "Non integer value(s) in arr1" unless all(@arr1) ~~ Int; +die "Non integer value(s) in arr2" unless all(@arr2) ~~ Int; + +say ((@arr1.max - @arr2.min).abs, + (@arr2.max - @arr1.min).abs).max; diff --git a/challenge-338/arne-sommer/raku/highest-row b/challenge-338/arne-sommer/raku/highest-row new file mode 100755 index 0000000000..aa5cacd248 --- /dev/null +++ b/challenge-338/arne-sommer/raku/highest-row @@ -0,0 +1,15 @@ +#! /usr/bin/env raku + +unit sub MAIN ($matrix, :v(:$verbose)); + +my @matrix = $matrix.split("|")>>.words>>.Numeric; + +die "Uneven row length" unless [==] @matrix>>.elems; + +die "Non numeric value(s) in the matrix" unless all(@matrix[*;*]) ~~ Numeric; + +my @sum = @matrix>>.sum; + +say ": Row sums: { @sum.join(",") }" if $verbose; + +say @sum.max; diff --git a/challenge-338/arne-sommer/raku/max-distance b/challenge-338/arne-sommer/raku/max-distance new file mode 100755 index 0000000000..c14dbcc8f5 --- /dev/null +++ b/challenge-338/arne-sommer/raku/max-distance @@ -0,0 +1,12 @@ +#! /usr/bin/env raku + +unit sub MAIN ($arr1, $arr2); + +my @arr1 = $arr1.words>>.Int; +my @arr2 = $arr2.words>>.Int; + +die "Non integer value(s) in arr1" unless all(@arr1) ~~ Int; +die "Non integer value(s) in arr2" unless all(@arr2) ~~ Int; + +say ((@arr1.max - @arr2.min).abs, + (@arr2.max - @arr1.min).abs).max; |
