summaryrefslogtreecommitdiff
path: root/Day7.lean
diff options
context:
space:
mode:
authorAndreas Grois <andi@grois.info>2025-04-13 20:43:15 +0200
committerAndreas Grois <andi@grois.info>2025-04-13 20:43:15 +0200
commit671ccf18e506398fd8eb65ebac92ec6d2fd03ccd (patch)
tree593e38a09792d820917d8fdc9efecaf6ec67fe00 /Day7.lean
parent8dbe99432db14b5f73585b9e34ecff6e61e76ca8 (diff)
Lean 4.17
Diffstat (limited to 'Day7.lean')
-rw-r--r--Day7.lean8
1 files changed, 4 insertions, 4 deletions
diff --git a/Day7.lean b/Day7.lean
index 218e643..04c55f7 100644
--- a/Day7.lean
+++ b/Day7.lean
@@ -119,8 +119,8 @@ def parse (input : String) : Except String (List Player) := do
def part1 (players : List Player) : Nat :=
players.quicksortBy (λ p q ↦ p.hand < q.hand)
- |> List.enumFrom 1
- |> List.foldl (λ r p ↦ p.fst * p.snd.bet + r) 0
+ |> (List.zipIdx · 1)
+ |> List.foldl (λ r p ↦ p.snd * p.fst.bet + r) 0
------------------------------------------------------------------------------------------------------
@@ -194,8 +194,8 @@ def part2 (players : List Player) : Nat :=
let players := players.map λ p ↦
{bet := p.bet, hand2 := p.hand.toHand2 : Player2}
players.quicksortBy (λ p q ↦ p.hand2 < q.hand2)
- |> List.enumFrom 1
- |> List.foldl (λ r p ↦ p.fst * p.snd.bet + r) 0
+ |> (List.zipIdx · 1)
+ |> List.foldl (λ r p ↦ p.snd * p.fst.bet + r) 0
----------------------------------------------------------------------------------------------------
open DayPart