DEV Community

Discussion on: Daily Challenge #117 - MinMinMax

Collapse
 
aminnairi profile image
Amin

Elm

import List exposing (minimum, maximum, member)
import Maybe exposing (withDefault)


nextUnknownInteger : Int -> List Int -> Int
nextUnknownInteger integer integers =
    let
        nextInteger = integer + 1
    in
        if member nextInteger integers then
            nextUnknownInteger nextInteger integers
        else
            nextInteger


minMinMax : List Int -> List Int
minMinMax integers =
    let
        minimumInteger     = withDefault 0 <| minimum integers
        maximumInteger     = withDefault 0 <| maximum integers
        nextMinimumInteger = nextUnknownInteger minimumInteger integers

    in
        [minimumInteger, nextMinimumInteger, maximumInteger]

Playground

Here.