diff options
Diffstat (limited to 'aoc_2023/day-06/part_2.ts')
-rw-r--r-- | aoc_2023/day-06/part_2.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/aoc_2023/day-06/part_2.ts b/aoc_2023/day-06/part_2.ts new file mode 100644 index 0000000..56fe05d --- /dev/null +++ b/aoc_2023/day-06/part_2.ts @@ -0,0 +1,38 @@ +export const main = async (lines: string[]): Promise<number | string> => { + const distance = parseInt(lines[1].split(":").at(1)!.replaceAll(" ", "")); + + const time = parseInt(lines[0].split(":").at(1)!.replaceAll(" ", "")); + + let winTimes = 0; + + for ( + let buttonPressLength = 0; + buttonPressLength <= time; + buttonPressLength++ + ) { + const timeTraveled = time - buttonPressLength; + const totalDistance = buttonPressLength * timeTraveled; + + if (totalDistance > distance) winTimes++; + } + + return winTimes; +}; + +// + +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").filter((x) => x && x.length); + + console.log("=== COMPUTATION ===\n"); + + const answer = await main(lines); + + console.log("\n=== /COMPUTATION ===\n"); + + console.log("=== ANSWER TO P2 ==="); + console.log(answer); +} |