diff --git a/day04/javascript/tschulte/README.adoc b/day04/javascript/tschulte/README.adoc index 124c5f2..b975d30 100644 --- a/day04/javascript/tschulte/README.adoc +++ b/day04/javascript/tschulte/README.adoc @@ -46,3 +46,10 @@ And put it all together .... include::solution.js[tags=part1] .... + +== Second Star + +[source, js] +.... +include::solution.js[tags=part2] +.... \ No newline at end of file diff --git a/day04/javascript/tschulte/solution.js b/day04/javascript/tschulte/solution.js index f34948a..4028d1a 100755 --- a/day04/javascript/tschulte/solution.js +++ b/day04/javascript/tschulte/solution.js @@ -20,3 +20,16 @@ const overlappingTimes = overlappingSleepTimes(foundGuard); console.log("Day 04, part 1: " + id * overlappingTimes[0].minute); //end::part1[] + +// tag::part2[] +const part2Guards = reduced + .map(guard => { + return { guard: guard, times: overlappingSleepTimes(guard) }; + }) + .filter(guard => guard.times.length > 0); +part2Guards.sort((a, b) => b.times[0].days - a.times[0].days); +const part2Guard = part2Guards[0]; +console.log( + "Day 04, part 2: " + part2Guard.guard.guard * part2Guard.times[0].minute +); +// end::part2[]