Browse Source

Solve 2023 day 6 part 2

master
Garrit Franke 5 months ago
parent
commit
70ac4bd18b
Signed by: garrit
GPG Key ID: BB54AF7EB0939F3D
  1. 49
      2023/Day6/javascript/solve.js

49
2023/Day6/javascript/solve.js

@ -6,7 +6,7 @@ const input = fs
.split("\n")
.filter((line) => line !== "");
const play = (time, record) => {
const calculateWinningStrategies = (time, record) => {
const strategies = [];
for (let i = 0; i < time; i++) {
const speed = i;
@ -20,6 +20,21 @@ const play = (time, record) => {
};
const part1 = (lines) => {
const play = (times, distances) => {
let result = 1;
for (let i = 0; i < times.length; i++) {
const distance = distances[i];
const time = times[i];
const strategies = calculateWinningStrategies(time, distance);
result *= strategies.length;
}
return result;
};
const times = lines[0]
.split(":")[1]
.trim()
@ -32,18 +47,34 @@ const part1 = (lines) => {
.split(/ +/)
.map((num) => Number.parseInt(num.trim(), 0));
let result = 1;
return play(times, distances);
};
for (let i = 0; i < times.length; i++) {
const distance = distances[i];
const time = times[i];
const part2 = (lines) => {
const play = (times, distances) => {
let strategies = [];
const strategies = play(time, distance);
const distance = distances[0];
const time = times[0];
result *= strategies.length;
}
return calculateWinningStrategies(time, distance).length;
};
const times = lines[0]
.split(":")[1]
.trim()
.replace(/ +/g, "")
.split()
.map((num) => Number.parseInt(num.trim(), 0));
const distances = lines[1]
.split(":")[1]
.trim()
.replace(/ +/g, "")
.split()
.map((num) => Number.parseInt(num.trim(), 0));
return result;
return play(times, distances);
};
console.log(part1(input));
console.log(part2(input));

Loading…
Cancel
Save