this repo has no description
at master 1.5 kB view raw
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}} -->