Esempio n. 1
0
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
Esempio n. 2
0
 def test_simple_2(self):
     self.assertFalse(is_valid_password_simple("223450"))
Esempio n. 3
0
 def test_simple_1(self):
     self.assertTrue(is_valid_password_simple("111111"))
Esempio n. 4
0
 def test_simple_5(self):
     self.assertTrue(is_valid_password_simple("123444"))
Esempio n. 5
0
 def test_simple_4(self):
     self.assertTrue(is_valid_password_simple("112233"))
Esempio n. 6
0
 def test_simple_3(self):
     self.assertFalse(is_valid_password_simple("123789"))