From 3d54374829afde5d33b53f88824d527aacb6e28c Mon Sep 17 00:00:00 2001 From: Tobias Schulte Date: Mon, 10 Dec 2018 12:03:10 +0100 Subject: [PATCH] day 04, part 2 --- day04/javascript/tschulte/README.adoc | 7 +++++++ day04/javascript/tschulte/solution.js | 13 +++++++++++++ 2 files changed, 20 insertions(+) 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[]