39 lines
956 B
TypeScript
39 lines
956 B
TypeScript
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);
|
|
}
|