this repo has no description
1# Day 06
2
3```elixir
4Mix.install([:kino_aoc])
5```
6
7## Setup
8
9<!-- livebook:{"attrs":"eyJhc3NpZ25fdG8iOiJwdXp6bGVfaW5wdXQiLCJkYXkiOiI2Iiwic2Vzc2lvbl9zZWNyZXQiOiJBRFZFTlRfT0ZfQ09ERV9TRVNTSU9OIiwieWVhciI6IjIwMjUifQ","chunks":null,"kind":"Elixir.KinoAOC.HelperCell","livebook_object":"smart_cell"} -->
10
11```elixir
12{:ok, puzzle_input} =
13 KinoAOC.download_puzzle("2025", "6", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
14```
15
16```elixir
17{tasks, [ops]} =
18 puzzle_input
19 |> String.split("\n", trim: true)
20 |> Enum.split(-1)
21```
22
23```elixir
24ops =
25 ops
26 |> String.split()
27 |> Enum.map(&String.to_atom/1)
28```
29
30<!-- livebook:{"branch_parent_index":0} -->
31
32## Part 1
33
34```elixir
35tasks
36|> Enum.map(&String.split/1)
37|> Enum.zip_with(fn numbers -> Enum.map(numbers, &String.to_integer/1) end)
38|> Enum.zip(ops)
39|> Enum.sum_by(fn
40 {nums, :+} -> Enum.sum(nums)
41 {nums, :*} -> Enum.product(nums)
42end)
43```
44
45<!-- livebook:{"branch_parent_index":0} -->
46
47## Part 2
48
49```elixir
50tasks
51|> Enum.map(&String.to_charlist/1)
52|> Enum.zip_with(&(&1 |> List.to_string() |> String.trim()))
53|> Enum.chunk_while(
54 [],
55 fn
56 "", acc -> {:cont, acc, []}
57 num, acc -> {:cont, [String.to_integer(num) | acc]}
58 end,
59 &{:cont, &1, []}
60)
61|> Enum.zip(ops)
62|> Enum.sum_by(fn
63 {nums, :+} -> Enum.sum(nums)
64 {nums, :*} -> Enum.product(nums)
65end)
66```
67
68<!-- livebook:{"offset":1319,"stamp":{"token":"XCP.wqKPUf7KHN-UzqY1O8_n61vLL2ksAE_kGnIsQL0IpamJTD-NEX9_HbYK4H0y_NM8lKhqDz4rZ-TMFsXjuQ3n2-URGSNh_SCmDtJIbJBAP3mbiCwyN52oyGL0Nq5eD424MQ","version":2}} -->