aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-02-09 18:45:06 +0000
committerGitHub <noreply@github.com>2025-02-09 18:45:06 +0000
commit79e0087d3a6194d74accd30b9724e0038323745e (patch)
treedd400791a258bb544e8e44443a08cecc6e207c4b
parenta715718542ecee76445ab92b1f83cfbd083852a0 (diff)
parentf6283b7060e52c904e7f43101c528791ed783d74 (diff)
downloadperlweeklychallenge-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.jl14
-rw-r--r--challenge-307/wambash/julia/ch-2.jl13
-rw-r--r--challenge-307/wambash/raku/ch-1.raku18
-rw-r--r--challenge-307/wambash/raku/ch-2.raku19
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
+}