aboutsummaryrefslogtreecommitdiff
path: root/challenge-283/barroff/julia/ch-1.jl
blob: 6aa99449bcd6099ad51b146e4436f24278afd078 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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