package Ġcom . github . m ichael bull . ad vent 2 0 2 1 . day 1 Ċ Ċ import Ġcom . github . m ichael bull . ad vent 2 0 2 1 . P uzzle Ċ Ċ object ĠDay 1 Ġ: ĠP uzzle < Sequence < Int >, ĠInt >( day Ġ= Ġ 1 ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( input : ĠSequence < String >): ĠSequence < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinput . map ( String :: toInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsolutions () Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ:: part 1 , ĊĠĠĠĠĠĠĠ Ġ:: part 2 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġpart 1 ( input : ĠSequence < Int >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinput . window ed ( size Ġ= Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. count Ġ{ Ġ( a , Ġb ) Ġ-> Ġb Ġ> Ġa Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpart 2 ( input : ĠSequence < Int >): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinput . window ed ( size Ġ= Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( List < Int >:: sum ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let (:: part 1 ) ĊĠĠĠ Ġ} Ċ } Ċ