diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-02-09 18:45:06 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-09 18:45:06 +0000 |
| commit | 79e0087d3a6194d74accd30b9724e0038323745e (patch) | |
| tree | dd400791a258bb544e8e44443a08cecc6e207c4b | |
| parent | a715718542ecee76445ab92b1f83cfbd083852a0 (diff) | |
| parent | f6283b7060e52c904e7f43101c528791ed783d74 (diff) | |
| download | perlweeklychallenge-club-79e0087d3a6194d74accd30b9724e0038323745e.tar.gz perlweeklychallenge-club-79e0087d3a6194d74accd30b9724e0038323745e.tar.bz2 perlweeklychallenge-club-79e0087d3a6194d74accd30b9724e0038323745e.zip | |
Merge pull request #11546 from wambash/challenge-week-307
solutions week 307
| -rw-r--r-- | challenge-307/wambash/julia/ch-1.jl | 14 | ||||
| -rw-r--r-- | challenge-307/wambash/julia/ch-2.jl | 13 | ||||
| -rw-r--r-- | challenge-307/wambash/raku/ch-1.raku | 18 | ||||
| -rw-r--r-- | challenge-307/wambash/raku/ch-2.raku | 19 |
4 files changed, 64 insertions, 0 deletions
diff --git a/challenge-307/wambash/julia/ch-1.jl b/challenge-307/wambash/julia/ch-1.jl new file mode 100644 index 0000000000..c53f7440a0 --- /dev/null +++ b/challenge-307/wambash/julia/ch-1.jl @@ -0,0 +1,14 @@ +check_order(ints) = keys(ints)[ints.!==sort(ints)] + + +using Test + +function TEST() + @testset "Check Order" begin + @test check_order([5, 2, 4, 3, 1]) == [1,3,4,5] + @test check_order([1, 2, 1, 1, 3]) == [2,4] + @test check_order([3, 1, 3, 2, 3]) == [1,2,4] + end +end + +TEST() diff --git a/challenge-307/wambash/julia/ch-2.jl b/challenge-307/wambash/julia/ch-2.jl new file mode 100644 index 0000000000..251ebdf7f9 --- /dev/null +++ b/challenge-307/wambash/julia/ch-2.jl @@ -0,0 +1,13 @@ +using Lazy +find_anagrams(words) = @>> words map(frequencies) unique length + +using Test + +function TEST() + @testset "Find Anagrams" begin + @test find_anagrams(["acca", "dog", "god", "perl", "repl"]) == 3 + @test find_anagrams(["abba", "baba", "aabb", "ab", "ab"]) == 2 + end +end + +TEST() diff --git a/challenge-307/wambash/raku/ch-1.raku b/challenge-307/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..31b784d106 --- /dev/null +++ b/challenge-307/wambash/raku/ch-1.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +sub check-order (+@ints) { + @ints Z== @ints.sort + andthen .grep: *.not, :k +} + +multi MAIN (Bool :test($)!) { + use Test; + is check-order(5,2,4,3,1),(0,2,3,4); + is check-order(1, 2, 1, 1, 3), (1,3); + is check-order(3, 1, 3, 2, 3), (0,1,3); + done-testing; +} + +multi MAIN (+ints) { + put check-order ints +} diff --git a/challenge-307/wambash/raku/ch-2.raku b/challenge-307/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..1184ed5b32 --- /dev/null +++ b/challenge-307/wambash/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub find-anagrams (+words) { + words + andthen .map: *.comb.Bag + andthen .unique + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is find-anagrams(<acca dog god perl repl>), 3; + is find-anagrams(<abba baba aabb ab ab>), 2; + done-testing; +} + +multi MAIN (+words) { + say find-anagrams words +} |
