summaryrefslogtreecommitdiff
path: root/aoc_2021/day-01/part_2.ts
blob: 492b68cdf3dd8b87552ee5132f45f8a0f5b97f35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
}