Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Day 01

2022/day01.livemd

Day 01

Mix.install([
  {:kino_aoc, ">= 0.0.0"}
])

Setup

{:ok, puzzle_input} =
  KinoAOC.download_puzzle("2022", "1", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
{:ok,
 "5800\n2273\n1315\n5801\n6352\n2649\n4140\n2115\n5298\n4441\n4428\n3773\n1076\n\n8063\n10386\n5705\n8397\n1084\n7661\n\n3661\n5756\n3231\n5162\n4930\n4675\n1113\n6795\n6415\n1144\n2900\n5147\n2966\n\n35187\n\n12434\n2038\n12435\n8757\n6976\n4532\n\n4642\n4431\n5126\n4672\n1724\n3012\n\n3801\n6564\n5401\n3913\n3090\n1484\n6227\n1283\n2501\n4601\n5860\n7036\n\n19257\n31867\n\n4292\n4518\n1298\n13147\n7463\n\n6784\n1065\n4015\n3154\n6429\n5067\n6535\n5731\n1270\n5870\n4934\n2800\n\n5227\n6294\n6733\n5177\n2773\n6553\n3219\n1446\n7005\n6036\n6872\n\n1721\n4408\n5577\n2799\n2257\n3149\n2389\n3713\n5588\n2324\n4595\n6018\n4926\n\n1233\n4799\n3380\n1975\n1924\n1578\n2338\n1546\n3708\n4020\n5872\n2519\n5334\n4416\n\n18103\n1692\n10497\n6786\n\n4837\n12315\n6510\n9221\n10023\n5698\n\n9781\n18818\n19784\n5100\n\n7596\n14668\n18708\n\n1932\n18024\n6361\n\n7302\n5163\n9039\n4774\n8726\n6538\n2054\n7238\n4233\n\n3375\n6049\n4925\n7129\n6075\n1262\n3836\n5878\n3292\n1316\n3924\n3530\n\n8653\n21172\n18837\n\n8052\n1672\n2962\n3270\n8160\n3033\n2004\n7774\n8182\n3047\n\n7917\n2458\n1040\n7210\n7742\n4296\n2861\n9324\n5721\n\n17851\n11236\n7107\n\n6962\n4498\n10042\n4539\n10759\n8378\n5781\n\n7156\n10063\n5329\n2449\n4749\n6498\n6493\n1924\n\n2161\n1309\n1770\n3195\n1581\n1194\n1455\n1350\n5298\n5290\n1872\n2155\n3060\n1514\n1872\n\n9664\n14392\n10201\n12693\n8817\n\n4960\n2281\n6321\n4953\n1439\n1372\n5253\n2338\n2516\n6332\n2760\n6702\n2354\n\n1341\n1489\n7110\n2267\n6809\n4198\n1137\n2526\n2087\n3885\n4952\n3056\n\n6561\n1313\n6624\n\n11571\n3452\n15300\n1518\n14811\n\n3421\n5270\n1676\n6712\n6231\n6617\n6775\n5428\n3497\n5598\n3723\n\n7879\n7984\n2678\n5770\n4217\n5323\n3708\n2799\n5466\n\n2895\n3934\n4468\n6864\n4531\n5622\n3281\n6518\n4313\n5273\n3945\n5378\n2585\n\n3486\n6101\n1036\n1079\n3380\n4542\n3617\n4279\n2397\n2172\n3711\n6251\n1219\n6320\n\n6785\n4840\n4314\n3647\n4660\n5968\n1932\n3144\n2131\n6556\n5107\n2018\n4441\n\n2958\n2812\n1812\n4047\n4055\n11311\n7254\n\n2563\n1559\n6369\n4595\n3617\n1979\n1988\n1648\n2520\n5216\n6227\n6239\n6469\n3824\n\n4417\n5913\n2444\n6808\n4742\n2422\n5153\n6707\n6968\n6663\n2355\n\n9949\n19801\n14001\n15160\n\n1166\n12942\n15632\n3266\n16053\n\n7820\n7480\n1377\n4492\n5371\n1411\n2455\n8883\n\n17669\n8092\n\n8706\n7270\n2362\n3278\n7920\n6014\n2647\n1328\n6135\n4121\n\n1300\n5806\n9993\n5891\n1588\n11239\n10363\n\n6375\n2494\n2291\n5069\n2878\n4995\n3716\n7152\n2761\n\n6224\n1559\n2918\n8131\n7509\n5718\n3661\n3544\n1823\n7656\n\n16526\n11469\n1419\n\n53687\n\n2857\n2808\n4648\n8455\n9957\n3914\n\n7762\n5994\n6047\n8806\n5176\n7275\n4551\n4066\n\n5763\n3134\n1326\n1673\n1473\n3568\n3500\n3148\n6480\n6968\n5409\n\n3964\n30423\n\n4429\n15272\n5536\n17259\n\n12059\n2888\n23495\n\n6809\n1963\n3840\n3427\n4613\n3621\n6088\n1689\n7164\n1066\n2414\n1709\n\n3278\n10853\n4541\n8619\n8481\n5872\n\n12075\n14580\n\n7950\n6716\n2477\n3646\n5451\n4247\n5960\n1059\n1421\n5363\n2927\n\n6077\n3404\n5644\n3187\n8654\n2732\n6190\n2191\n3446\n\n13528\n10960\n12280\n\n35272\n23802\n\n2178\n2098\n2920\n4938\n6504\n1060\n4419\n4813\n5278\n2795\n3169\n3632\n2780\n5275\n\n4649\n1930\n1983\n3098\n4015\n2875\n2805\n5216\n3560\n5647\n2568\n5779\n6049\n\n27045\n16939\n\n10445\n10797\n10108\n2466\n2246\n5724\n7331\n\n4442\n7590\n1569\n7171\n2642\n2514\n3817\n9721\n\n8791\n7994\n2284\n2030\n8332\n6368\n4957\n7785\n1048\n4729\n\n9724\n7501\n5505\n9879\n9365\n9333\n4116\n8176\n\n9566\n3327\n7777\n11637\n2558\n\n33212\n\n3528\n6544\n1465\n6135\n6022\n2179\n5929\n3589\n5116\n\n1295\n20019\n23243\n\n10512\n14094\n8100\n10837\n1990\n\n8004\n5887\n5776\n3619\n5955\n1823\n3549\n1608\n5574\n2536\n\n21105\n\n1121\n3374\n6887\n7477\n1559\n8129\n2568\n2267\n4276\n5654\n\n13156\n11437\n2579\n13990\n4857\n\n4870\n5826\n5900\n2870\n4855\n5032\n4549\n3334\n4392\n6687\n1419\n2931\n5741\n\n3388\n1796\n3472\n1643\n1332\n2683\n4063\n3896\n5532\n4179\n3293\n2287\n\n3917\n4479\n4607\n3161\n1568\n5766\n1114\n5629\n4985\n4126\n6032\n5801\n4563\n4102\n5414\n\n1680\n7168\n4035\n7272\n1069\n5464\n3362\n8014\n6102\n3438\n\n12897\n4134\n5080\n5112\n1382\n8072\n\n6459\n1052\n7860\n6344\n11275\n7862\n\n7127\n5350\n4677\n6080\n7389\n6254\n1762\n3744\n\n2309\n9952\n1649\n3813\n10728\n9047\n10324\n7166\n\n10873\n3572\n12788\n4164\n\n4454\n4712\n3474\n2168\n5914\n2979\n4481\n3906\n1923\n3666\n1563\n4974\n2768\n3148\n4075\n\n8824\n14894\n10182\n\n27925\n27484\n\n10626\n19944\n5603\n2536\n\n6931\n14574\n6857\n2887\n4086\n\n18693\n15550\n9475\n16434\n\n6759\n6343\n4255\n3838\n6209\n3314\n2508\n3168\n4738\n4613\n1326\n5034\n1437\n\n1822\n10438\n9137\n7846\n8451\n9397\n7729\n\n2326\n3628\n5120\n2662\n3814\n3761\n1462\n1878\n6003\n2927\n1345\n2849\n6064\n5540\n2435\n\n3680\n3813\n4824\n5499\n9998\n2233\n9012\n\n30259\n24718\n\n10326\n6960\n7198\n14566\n13123\n\n6018\n6875\n5608\n1167\n6331\n5020\n3796\n4878\n6180\n2043\n2419\n\n6676\n7795\n6677\n\n3188\n4992\n3958\n1837\n3146\n4012\n2109\n4262\n6831\n2423\n1716\n5367\n\n5837\n" <> ...}
elves =
  puzzle_input
  |> String.split("\n")
  |> Enum.chunk_while(
    0,
    fn
      "", acc -> {:cont, acc, 0}
      val, acc -> {:cont, String.to_integer(val) + acc}
    end,
    fn
      0 -> {:cont, 0}
      acc -> {:cont, acc, 0}
    end
  )
  |> Enum.sort(:desc)
[66616, 66306, 66250, 65758, 65264, 65080, 64911, 64448, 64423, 64338, 63797, 63599, 62203, 61850,
 61072, 60910, 60591, 60292, 60152, 59794, 59607, 59403, 59135, 59074, 58989, 58949, 58911, 58736,
 58665, 58474, 58406, 57457, 57335, 56727, 56537, 56224, 56117, 56096, 55767, 55585, 55543, 55409,
 55193, 55067, 54988, 54977, 54948, 54820, 54813, 54680, ...]

Task 1

elves
|> List.first()
66616

Task 2

elves
|> Enum.take(3)
|> Enum.sum()
199172