7e122fdcbc
Bonus solution in k as I got sniped by leah2. Change-Id: I806f5b2ac1388159a427bb239bfb1bb7aeb329d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7490 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
30 lines
648 B
Nix
30 lines
648 B
Nix
{ lib ? import <nixpkgs/lib> }:
|
|
|
|
let
|
|
chomp = lib.removeSuffix "\n";
|
|
lines = s: builtins.filter builtins.isString (builtins.split "\n" (chomp s));
|
|
sum = builtins.foldl' builtins.add 0;
|
|
|
|
day01 =
|
|
let
|
|
input =
|
|
builtins.map
|
|
(elf:
|
|
sum (builtins.map builtins.fromJSON (lines elf))
|
|
)
|
|
(
|
|
builtins.filter builtins.isString (
|
|
builtins.split "\n\n" (builtins.readFile ./01/input)
|
|
)
|
|
);
|
|
in
|
|
{
|
|
"1" = builtins.foldl' lib.max (-1) input;
|
|
"2" = sum (lib.sublist 0 3 (lib.sort (a: b: a >= b) input));
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
inherit day01;
|
|
}
|