summaryrefslogtreecommitdiff
path: root/aoc_2021/day-01/part_2.ts
diff options
context:
space:
mode:
Diffstat (limited to 'aoc_2021/day-01/part_2.ts')
-rw-r--r--aoc_2021/day-01/part_2.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/aoc_2021/day-01/part_2.ts b/aoc_2021/day-01/part_2.ts
new file mode 100644
index 0000000..492b68c
--- /dev/null
+++ b/aoc_2021/day-01/part_2.ts
@@ -0,0 +1,30 @@
+export const main = async (lines: string[]): Promise<number | string> => {
+ return lines
+ .map((x) => Number(x))
+ .map((_num, i, arr) => {
+ if (i > arr.length - 3) return -1;
+ return arr.slice(i, i + 3).reduce((acc, x) => acc + x, 0);
+ })
+ .map((num, i, arr) => {
+ return i > 0 && arr[i - 1] < num;
+ })
+ .filter((x) => x).length;
+};
+
+//
+
+const isrun = process.argv.length > 1 && process.argv[1] === import.meta.path;
+if (isrun) {
+ const file = Bun.file("./problem.txt");
+ const text = await file.text();
+ const lines = text.split("\n");
+
+ console.log("=== COMPUTATION ===\n");
+
+ const answer = await main(lines);
+
+ console.log("\n=== /COMPUTATION ===\n");
+
+ console.log("=== ANSWER TO P2 ===");
+ console.log(answer);
+}