From 9cf6061dcdf2aa063fcea51a4d31d3afd03f5ef9 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Mon, 2 Dec 2024 08:21:57 +0100 Subject: [PATCH] docs: Add Part Two problem description for Day 2 solution --- lib/advent_code2024/solutions/day02/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/advent_code2024/solutions/day02/README.md b/lib/advent_code2024/solutions/day02/README.md index fc8809a..02347d0 100644 --- a/lib/advent_code2024/solutions/day02/README.md +++ b/lib/advent_code2024/solutions/day02/README.md @@ -35,3 +35,22 @@ Each line contains space-separated integers representing the levels in a report. ### Example Solution In the example above, 2 reports are safe. + +--- Part Two --- +The engineers are surprised by the low number of safe reports until they realize they forgot to tell you about the Problem Dampener. + +The Problem Dampener is a reactor-mounted module that lets the reactor safety systems tolerate a single bad level in what would otherwise be a safe report. It's like the bad level never happened! + +Now, the same rules apply as before, except if removing a single level from an unsafe report would make it safe, the report instead counts as safe. + +More of the above example's reports are now safe: + +7 6 4 2 1: Safe without removing any level. +1 2 7 8 9: Unsafe regardless of which level is removed. +9 7 6 2 1: Unsafe regardless of which level is removed. +1 3 2 4 5: Safe by removing the second level, 3. +8 6 4 4 1: Safe by removing the third level, 4. +1 3 6 7 9: Safe without removing any level. +Thanks to the Problem Dampener, 4 reports are actually safe! + +Update your analysis by handling situations where the Problem Dampener can remove a single level from unsafe reports. How many reports are now safe?