Skip to content

Commit 2bfdcea

Browse files
committed
Add methods that returns gear ratios sum
1 parent 831dd55 commit 2bfdcea

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

puzzles/solutions/2023/d03/schematic_parser.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,16 @@ def _is_number_adjacent(
9494
abs(row - position_row) <= 1 and abs(column - position_column) <= 1
9595
for row, column in digits_positions
9696
)
97+
98+
def calculate_gear_ratios_sum(self):
99+
gear_ratios_sum = 0
100+
for gear_position in self._gears_positions:
101+
adjacent_numbers = [
102+
number
103+
for number, digits_positions in self._numbers
104+
if self._is_number_adjacent(gear_position, digits_positions)
105+
]
106+
if len(adjacent_numbers) == 2:
107+
gear_ratio = adjacent_numbers[0] * adjacent_numbers[1]
108+
gear_ratios_sum += gear_ratio
109+
return gear_ratios_sum

0 commit comments

Comments
 (0)