diff options
Diffstat (limited to 'users/sterni/exercises/aoc/2022/nix.nix')
-rw-r--r-- | users/sterni/exercises/aoc/2022/nix.nix | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/users/sterni/exercises/aoc/2022/nix.nix b/users/sterni/exercises/aoc/2022/nix.nix index 5bd3e36b5397..ca8bfc6e57df 100644 --- a/users/sterni/exercises/aoc/2022/nix.nix +++ b/users/sterni/exercises/aoc/2022/nix.nix @@ -1,3 +1,30 @@ -{ ... }: +{ 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; +} |