Compare commits

...

4 Commits

Author SHA1 Message Date
35a96647a5 init d16p1 2024-01-10 20:22:12 +01:00
cbd3a2929b clean up: formatting 2024-01-10 20:02:15 +01:00
138b4e2944 init d15p2 2023-12-15 20:38:40 +01:00
d6d3a06b85 calc hashes, sum up 2023-12-15 20:38:30 +01:00
13 changed files with 432 additions and 298 deletions

View File

@ -1,8 +1,12 @@
import { readFileSync } from "fs"; import { readFileSync } from "fs";
const t0 = performance.now(); const t0 = performance.now();
const input = readFileSync("input.txt").toString(); const input = readFileSync("input.txt").toString().split("\n")[0].split(",");
console.log(input); const hashes = input.map((e) =>
e.split("").reduce((a, i) => ((a + i.charCodeAt(0)) * 17) % 256, 0)
);
const sum = hashes.reduce((a, i) => a + i);
console.log(sum);
const t1 = performance.now(); const t1 = performance.now();
console.log(`Runtime: ${t1 - t0}ms`); console.log(`Runtime: ${t1 - t0}ms`);

12
Day15/Part2.js Normal file
View File

@ -0,0 +1,12 @@
import { readFileSync } from "fs";
const t0 = performance.now();
const input = readFileSync("input.txt").toString().split("\n")[0].split(",");
const hashes = input.map((e) =>
e.split("").reduce((a, i) => ((a + i.charCodeAt(0)) * 17) % 256, 0)
);
const sum = hashes.reduce((a, i) => a + i);
console.log(sum);
const t1 = performance.now();
console.log(`Runtime: ${t1 - t0}ms`);

8
Day16/Part1.js Normal file
View File

@ -0,0 +1,8 @@
import { readFileSync } from "fs";
const t0 = performance.now();
const input = readFileSync("input.txt").toString();
console.log(input);
const t1 = performance.now();
console.log(`Runtime: ${t1 - t0}ms`);

110
Day16/input.txt Normal file
View File

@ -0,0 +1,110 @@
\.\............/........|............/.-....................|............|.......-..............//....../../..
......\.-/..|...............-...-\......../.............-.../.............../........-................../../..
.........\..\......................................................../\.......\.............................-.
....|.........-..................|..../....-......................................|.../...............|.../...
.....|...|..-....|................/............./......./............../|.......|.....|.................../...
.........-............../.|.-...\..........................|..................//............-\......|.........
.........|...................||.........-.|/.......---...-...........\........\.-...\..../......|.............
.......|-................................................................./........../..../...................
......-......|......././...............................\.....\.........|...........|..\-............|\........
|...\.............................-...\\-.................|................................-.........|........
...\....|.|........................-.........................\..|............................-....|...........
\.........|..|./....................../..........-......|...-....................\....-../...\.-.....|/.......
......\./................|...................-....../..................................|.......-....-.........
......-.........................................|....\..................../-./-.......|........./.............
................|...|...\....\....-....//........./...../.....-..............|\.|..\.........\......./\....\.\
.\...|.....|......./....-...........|.............-..\...-..-....................|.../.....-...........--.....
......................................-................../..............\.\\........../.../................\..
.-..........|..|......................|....|.-|.....................-..../............|......./..../..\/.-.\..
..\..\.............../-......-................-......................................\....../......|..........
.........\.....\.......................................-../........./-....-.................\....../..../.....
......-..\..-.............|...................|....../.......\../........../.....-............................
.............|../.\...\....|...............|.........../..|-....../........../..../|.|.\........|........\..|.
..\............|...../...................\......................./...-.......-..........................-.....
....|......................|......../.|.\.../......|...|..-.....................|................../..\.......
.....................................................-................/\..-....|..........................-.\.
................../...\..........\...........\............................................./.../.........|.|..
.....-......................................./....-........|.-........................|.........\.....\.......
...............\/\..........|.|................................|.\......\......\............|...-.............
..................................\.......-.........|-........../...........\\..\.|../......|........\..|.....
..............-...........\.....\\./......................./...-...........-..........................././....
...-..............-..........................\..........|...........-/........../.../...|.....................
...\..............-......./-...........|............./.......-./........-..-....|......./\.-.......\./........
.........|......././..\.-......./............-....-..................|....-......../........-.........\.......
....|.........................../....................-..................-...\|............................|...
.-........-...........|..............................|.........................................\......-......-
............./......../..-....\...............................././.......|................................|...
.|\../......-./........./...............-./..............\../..............|....|........./...................
..................................................|............................-..............................
.............-...................\.......|........|.............../......-....|......../.../.-...\|...........
.................../..............-|........................|.............\..\.........................././...
...../.........../..-.......|........../.......|........................./......|......./..........|..........
../...-........../...........................-.|..\../..................\.....-...........|...................
.........\.......-.......-.\.|......|.......||......|.\....-...-.................-..........-..\..............
................................\./.......\/............-................./.....\......../....................
/...........-......|..|....../.....\.........|.....................................\...................|....-.
...........\.............../.......\......................................................................\..-
....../...................-..................|-\......................-..................\....................
/............./...........|.....|............/.................................-....................-......\|.
...............\..|..............|............\../.../..........................\\................|......./...
....--/............|......|......-........-...../........./.........../-..\..|........-.......................
|.-....-.........................|../................\................../......\..../.\..|...../.../|.........
....................................../.........\........-....................../.-..-.\.....././.../.....\..\
......\...../............./................-...........\.................../.....-../......-..................
....../............../...........|......|..................................|...................|..............
......-../.../.|.........././..........\.......\........./......|..............\.................-.........../
...../...|........//...../.................\................../.\.............-............/.........../......
..............-.....|................\................/.........|.....\.......\....................\.....\....
..........|..........-.../..................\.-.......................................\..-.........|..........
....|..................-.....|..................|...........-......./.....-......../...|........\....\-.|.....
.......................-......./......................./.-.-.........|.....|.................|................
...|................/......-.....|....-..-.........-|....|..................../.../....-......\.......-......\
............-.............................-...................../..............|.|.......-....................
-....-..............|................./......../.\............./../............../..-...-...........|.........
.|............|..........-................./................|.....................|./....\......./.....\......
..........|\.|...................-.............\......|..-..\.......\..........\........|......-.../........\.
\.......\....................\..............|................................|..............-.../.............
......../-....................|...............-........................\................\..............-......
...|..-.............//.-.............../........-........../..|.............\|../....................-........
..../.\.-.-|.....\.-|..../.....\..|.........../........................-.....................-..........|.....
...../-..........\.........-....................\.............................\............|-..\..........|...
...-...../....................../-......\...|.....-........................../.|.........|.......\..\.....\../
...................\...../......................./...-.....\.-.........-...../.|...................|......./..
../.....|..|..\.........|.../.................../..-............\../........\.....\.....................\.....
.........................../...\.|........\...||..........\......\.-....|.........\-..\.......................
../.........|............................/../-||..............|-........\............\....\.\................|
../....|....................|.....|-.......|.................../...\.-.\.............-.................-......
....|..............................................................-|.........................................
..................\-.\/.........|../|....../|..\...-...\.........|/............./...\...\.....................
.\.........-../....|-......................./................/\..\........................................./..
./......................-...............|...............|................-.......................\............
................\..........././............................-....\/..........-.../../....|.........-....|...../
.-..-..|\..\/........\./....|.......................\.........../.....|......./-.-..../..../..................
\.....|........................../.|...../.-...............|.../\...|.........|.\|....../.-......|............
.........-|............./..../.\.|//.......-....-...........\.........-..-.........\....\..........|..........
....................|.......-../.....\-..........\................-..................\.-........|.............
.....|.\-........................./........................................../.......-.\....-......../........
...................|..............\..|/................................|/..../........../..|.................|
.......\...|./......../..........-............-....|...........-/.\...-......./....\......./........\....../..
...\............\..........\../................./....-......|..........................................\......
............|......|......../.............\...|.....................\.\\......................................
-.-.-......\.......|..........-.|.....|\....\/..............-/..........|............|......./.........-......
......................../...|................./......\............../..............-/.......\.....\\..........
...|.|.-..-./..................../................................-....\|........./...-..|........\......-....
....\....-../.........|....|........-./..\../...|...../-.|.|....\................................./...|......-
..............\../..............|.|................\......./.............../.\......|.....|..\...../....../...
............|....\......|........|.......\.................................................../.-..............
.|............|...\....................../............................................\.......|.-.-...........
.....-.\|......\.............|............|....-.........\....|.............................../....\....-.|...
............|./.........................\...|..............................\...|..|..............|...-........
.-.....|..................|....-.............-..\..-...............-....-..................-..................
..\......-.-./..................................-............\........./........-.-.............-............-
..../.\--...............//..................................||................\.................|......|......
..|./...\......................|.........../........\.....-....-.................................../-....\....
.........-........\..............................|.......|......../...........|....../......|..\.|..../.......
....../....-....|\............|.....|..\../||....................................\.....................-......
.....\.....--...././......................-........\\............-...............\....-....|................./
........./........../...-................/...........-............................................-........./.
.........-..-...|/..\.........................\............\..-........-.........-...............\......|./.-.
|......................-.....-..-.........../-..................|.....|.........\./........./...-/............
..............-...........|-....-.../.............-........./...../.................../.......--.|....-..../..