diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-08-26 03:09:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-26 03:09:10 +0100 |
| commit | 6da555696dc39bca6dc633b70c3df82e01ce72a8 (patch) | |
| tree | 3561c1bed6b21bc6cc674d8762a2f985c8026462 | |
| parent | c0bd0b06b7e76ddc316208c707268b353916f0aa (diff) | |
| parent | 5a5ebc534c5e528823076d0fec49d65fc3c243b9 (diff) | |
| download | perlweeklychallenge-club-6da555696dc39bca6dc633b70c3df82e01ce72a8.tar.gz perlweeklychallenge-club-6da555696dc39bca6dc633b70c3df82e01ce72a8.tar.bz2 perlweeklychallenge-club-6da555696dc39bca6dc633b70c3df82e01ce72a8.zip | |
Merge pull request #10698 from BarrOff/barroff-283
feat: add solutions for challenge 283 from BarrOff
| -rw-r--r-- | challenge-283/barroff/julia/ch-1.jl | 17 | ||||
| -rw-r--r-- | challenge-283/barroff/raku/ch-1.p6 | 24 |
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-283/barroff/julia/ch-1.jl b/challenge-283/barroff/julia/ch-1.jl new file mode 100644 index 0000000000..6aa99449bc --- /dev/null +++ b/challenge-283/barroff/julia/ch-1.jl @@ -0,0 +1,17 @@ +#!/usr/bin/env julia + +using Test: @test, @testset + +function unique_number(ints::Vector{T})::Int where {T<:Integer} + numbercounts = Dict{T,Int}() + map(x -> numbercounts[x] = get(numbercounts, x, 0) + 1, ints) + indices = collect(keys(numbercounts)) + indices[findfirst(x -> numbercounts[x] == 1, indices)] +end + +@testset "unique number" begin + @test unique_number([3, 3, 1]) == 1 + @test unique_number([3, 2, 4, 2, 4]) == 3 + @test unique_number([1]) == 1 + @test unique_number([4, 3, 1, 1, 1, 4]) == 3 +end diff --git a/challenge-283/barroff/raku/ch-1.p6 b/challenge-283/barroff/raku/ch-1.p6 new file mode 100644 index 0000000000..90a1176017 --- /dev/null +++ b/challenge-283/barroff/raku/ch-1.p6 @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +use v6.d; + +sub unique-number(@ints --> Int) { + my %int-bag = Bag(@ints); + Int(grep({ %int-bag{$_} == 1 }, %int-bag.keys)[0]); +} + +#| Run test cases +multi sub MAIN('test') { + use Test; + plan 4; + + is unique-number([3, 3, 1]), 1, 'works for "(3, 3, 1)"'; + is unique-number([3, 2, 4, 2, 4]), 3, 'works for "(3, 2, 4, 2, 4)"'; + is unique-number([1]), 1, 'works for "(1)"'; + is unique-number([4, 3, 1, 1, 1, 4]), 3, 'works for "(4, 3, 1, 1, 1, 4)"'; +} + +#| Take user provided numbers like 4 3 1 1 1 4 +multi sub MAIN(*@ints) { + say unique-number(@ints); +} |
