aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2024-01-28 16:35:20 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2024-01-28 16:35:20 +0100
commite58a68ada3cd987b4cf11725be9ed8dadfeb7e3a (patch)
treec60cd64ba8971244ed68d51384019f97983cb713
parent185b9b8db1cb057458040e9a452e9be467e0ac32 (diff)
downloadperlweeklychallenge-club-e58a68ada3cd987b4cf11725be9ed8dadfeb7e3a.tar.gz
perlweeklychallenge-club-e58a68ada3cd987b4cf11725be9ed8dadfeb7e3a.tar.bz2
perlweeklychallenge-club-e58a68ada3cd987b4cf11725be9ed8dadfeb7e3a.zip
solutions week 253 -- Julia
-rw-r--r--challenge-253/wambash/julia/ch-1.jl10
-rw-r--r--challenge-253/wambash/julia/ch-2.jl35
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-253/wambash/julia/ch-1.jl b/challenge-253/wambash/julia/ch-1.jl
new file mode 100644
index 0000000000..8a2aa795ad
--- /dev/null
+++ b/challenge-253/wambash/julia/ch-1.jl
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+split_strings(words; separator = " " ) = mapreduce( x -> split(x, separator, keepempty=false ), vcat, words)
+
+using Test
+
+@testset "split strings" begin
+ @test split_strings(["one.two.three","four.five","six"], separator = ".") == ["one","two","three","four","five","six"]
+ @test split_strings(["\$perl\$\$", "\$\$raku\$"], separator = "\$") == ["perl","raku"]
+end
diff --git a/challenge-253/wambash/julia/ch-2.jl b/challenge-253/wambash/julia/ch-2.jl
new file mode 100644
index 0000000000..681f45f6c8
--- /dev/null
+++ b/challenge-253/wambash/julia/ch-2.jl
@@ -0,0 +1,35 @@
+#!/usr/bin/env julia
+
+using Lazy
+
+weakest_row(matrix) = @>> begin
+ matrix
+ pairs
+ collect
+ map(reverse)
+ sort
+ map(x-> x.second - 1)
+end
+
+using Test
+
+@testset "Matrix" begin
+ matrix = [
+ [1, 1, 0, 0, 0],
+ [1, 1, 1, 1, 0],
+ [1, 0, 0, 0, 0],
+ [1, 1, 0, 0, 0],
+ [1, 1, 1, 1, 1]
+ ]
+ @test weakest_row(matrix) == [2,0,3,1,4]
+end
+
+@testset "Matrix with same rows" begin
+ matrix = [
+ [1, 0, 0, 0],
+ [1, 1, 1, 1],
+ [1, 0, 0, 0],
+ [1, 0, 0, 0],
+ ]
+ @test weakest_row(matrix) == [0,2,3,1]
+end