-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday11.elm
80 lines (58 loc) · 1.53 KB
/
day11.elm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
module Main exposing (..)
import Array
import Html exposing (program, text, textarea, div, button, pre)
import View exposing (renderProblem)
import Inputs exposing (problemInputs)
main : Program Never Model Msg
main =
program { init = init, view = view, update = update, subscriptions = subscriptions }
subscriptions : Model -> Sub msg
subscriptions model =
Sub.none
type Msg
= Solve
| Solve2
update : Msg -> Model -> ( Model, Cmd msg )
update msg model =
case msg of
Solve ->
let
solution =
solverPart1 model
in
( { model | solutionPart1 = solution }, Cmd.none )
Solve2 ->
let
solution =
solverPart2 model
in
( { model | solutionPart2 = solution }, Cmd.none )
type alias Model =
{ problemDay : Int
, input : String
, solutionPart1 : String
, solutionPart2 : String
}
problemDay : Int
problemDay =
11
init : ( Model, Cmd msg )
init =
( { problemDay = problemDay
, input = Array.get (problemDay - 1) problemInputs |> Maybe.withDefault ""
, solutionPart1 = ""
, solutionPart2 = ""
}
, Cmd.none
)
solverPart1 : Model -> String
solverPart1 model =
"Did this one wiht pen & paper, sorry!"
solverPart2 : Model -> String
solverPart2 model =
"Did this one wiht pen & paper, sorry!"
view : Model -> Html.Html Msg
view model =
div []
[ renderProblem model ( Solve, Solve2 )
]