day3_part1_result = calculate_closest_intersection_to_origin(solution_inputs.day3_input) day3_part2_result = calculate_closest_intersection_along_wires(solution_inputs.day3_input) print(f"Part 1: {day3_part1_result}") print(f"Part 2: {day3_part2_result}") if day3_part1_result != 865 or day3_part2_result != 35038: raise Exception() print("\nDay 4") min_value = solution_inputs.day4_input[0] max_value = solution_inputs.day4_input[1] day4_part1_result = sum([1 for x in range(min_value, max_value + 1) if is_valid_password_simple(str(x))]) day4_part2_result = sum([1 for x in range(min_value, max_value + 1) if is_valid_password_strict(str(x))]) print(f"Part 1: {day4_part1_result}") print(f"Part 2: {day4_part2_result}") if day4_part1_result != 1650 or day4_part2_result != 1129: raise Exception() print("\nDay 5") def get_last_output(program: List[int], program_input: List[int] = None): last_output = 0 for last_output in run_program(program, program_input): pass
def test_simple_2(self): self.assertFalse(is_valid_password_simple("223450"))
def test_simple_1(self): self.assertTrue(is_valid_password_simple("111111"))
def test_simple_5(self): self.assertTrue(is_valid_password_simple("123444"))
def test_simple_4(self): self.assertTrue(is_valid_password_simple("112233"))
def test_simple_3(self): self.assertFalse(is_valid_password_simple("123789"))