Compare commits

...

3 commits

Author SHA1 Message Date
Emma Nora Theuer
2e144c1d89 Rename to accurately describe the content 2024-12-08 22:04:43 +01:00
Emma Nora Theuer
b86fb4eff5 Initial Commit 2024-12-08 22:04:13 +01:00
Emma Nora Theuer
68e7cc7e63 Rename to accurately describe the content 2024-12-08 22:04:03 +01:00
2 changed files with 53 additions and 0 deletions

53
Day1/solution2.py Normal file
View file

@ -0,0 +1,53 @@
#!/usr/bin/env python3
from typing import List
class Solution:
def __init__(self) -> None:
self.lines: List[str] = []
self.left_array: List[int] = []
self.right_array: List[int] = []
self.difference_array: List[int] = []
self.result: int = 0
def read(self) -> None:
with open("input") as f:
self.lines = f.readlines()
def clean(self) -> None:
for i in range(len(self.lines)):
self.lines[i] = self.lines[i].strip()
def split_lines(self) -> None:
for line in self.lines:
elements: List[str] = line.split()
clean_element: int = int(elements[0])
self.left_array.append(clean_element)
clean_element: int = int(elements[1])
self.right_array.append(clean_element)
def calculate_occurences(self) -> None:
for element in self.left_array:
tmp: int = 0
for i in range(len(self.right_array)):
if element == self.right_array[i]:
tmp += 1
self.difference_array.append(element * tmp)
def calculate_total_similary(self) -> int:
for i in range(len(self.difference_array)):
self.result += self.difference_array[i]
return self.result
def main() -> None:
solver: Solution = Solution()
solver.read()
solver.clean()
solver.split_lines()
solver.calculate_occurences()
solution: int = solver.calculate_total_similary()
print(solution)
if __name__ == "__main__":
main()