diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-02-27 20:53:03 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-27 20:53:03 +0000 |
| commit | 2a5143d1c08bfae3b574000cf55ed1b26e1c1638 (patch) | |
| tree | 4eac57d930d5db4927781785567948d62bf05c22 | |
| parent | 5a6e8cdd27bae070cf34d67df8087d1626709501 (diff) | |
| parent | 4cbdc4545fb401621766f92451541b74688e8b11 (diff) | |
| download | perlweeklychallenge-club-2a5143d1c08bfae3b574000cf55ed1b26e1c1638.tar.gz perlweeklychallenge-club-2a5143d1c08bfae3b574000cf55ed1b26e1c1638.tar.bz2 perlweeklychallenge-club-2a5143d1c08bfae3b574000cf55ed1b26e1c1638.zip | |
Merge pull request #11645 from arnesom/branch-for-challenge-310
Arne Sommer
| -rw-r--r-- | challenge-310/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-310/arne-sommer/raku/arrays-intersection | 9 | ||||
| -rwxr-xr-x | challenge-310/arne-sommer/raku/ch-1.raku | 9 | ||||
| -rwxr-xr-x | challenge-310/arne-sommer/raku/ch-2.raku | 17 | ||||
| -rwxr-xr-x | challenge-310/arne-sommer/raku/sort-odd-even | 17 |
5 files changed, 53 insertions, 0 deletions
diff --git a/challenge-310/arne-sommer/blog.txt b/challenge-310/arne-sommer/blog.txt new file mode 100644 index 0000000000..b2ff4e668d --- /dev/null +++ b/challenge-310/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/intersection-sort.html diff --git a/challenge-310/arne-sommer/raku/arrays-intersection b/challenge-310/arne-sommer/raku/arrays-intersection new file mode 100755 index 0000000000..15c4101544 --- /dev/null +++ b/challenge-310/arne-sommer/raku/arrays-intersection @@ -0,0 +1,9 @@ +#! /usr/bin/env raku + +unit sub MAIN ($arrays-as-string, :v(:$verbose)); + +my @list = $arrays-as-string.split(" ")>>.split(","); + +say ": List: { @list.raku }" if $verbose; + +say "(" ~ ([(&)] @list).keys.sort.join(",") ~ ")"; diff --git a/challenge-310/arne-sommer/raku/ch-1.raku b/challenge-310/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..15c4101544 --- /dev/null +++ b/challenge-310/arne-sommer/raku/ch-1.raku @@ -0,0 +1,9 @@ +#! /usr/bin/env raku + +unit sub MAIN ($arrays-as-string, :v(:$verbose)); + +my @list = $arrays-as-string.split(" ")>>.split(","); + +say ": List: { @list.raku }" if $verbose; + +say "(" ~ ([(&)] @list).keys.sort.join(",") ~ ")"; diff --git a/challenge-310/arne-sommer/raku/ch-2.raku b/challenge-310/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..939f7de3c7 --- /dev/null +++ b/challenge-310/arne-sommer/raku/ch-2.raku @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where @ints.elems > 1 && all(@ints) ~~ Int, + :v(:$verbose)); + +my @even = @ints.shift; +my @odd = @ints.shift; + +while @ints.elems +{ + @even.push: @ints.shift; + @odd.push: @ints.shift if @ints.elems; +} + +say ": Even: @even[]\n: Odd: @odd[]" if $verbose; + +say "({ (roundrobin(@even.sort, @odd.sort(-*))).flat.join(", ") })"; diff --git a/challenge-310/arne-sommer/raku/sort-odd-even b/challenge-310/arne-sommer/raku/sort-odd-even new file mode 100755 index 0000000000..939f7de3c7 --- /dev/null +++ b/challenge-310/arne-sommer/raku/sort-odd-even @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where @ints.elems > 1 && all(@ints) ~~ Int, + :v(:$verbose)); + +my @even = @ints.shift; +my @odd = @ints.shift; + +while @ints.elems +{ + @even.push: @ints.shift; + @odd.push: @ints.shift if @ints.elems; +} + +say ": Even: @even[]\n: Odd: @odd[]" if $verbose; + +say "({ (roundrobin(@even.sort, @odd.sort(-*))).flat.join(", ") })"; |
