Skip to content

Commit

Permalink
Merge pull request #245 from Stegallo/2024
Browse files Browse the repository at this point in the history
2024
  • Loading branch information
Stegallo authored Dec 1, 2024
2 parents 63b6690 + efb3a42 commit db4ac0e
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -129,3 +129,5 @@ dmypy.json
.pyre/
input_day*.txt
y_2022/secret_backup.py
_old_y*/*
gpt.txt
40 changes: 40 additions & 0 deletions y_2024/day1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from collections import Counter
from typing import Optional

from pydantic.dataclasses import dataclass

from common.aoc import AoCDay


@dataclass
class Row:
original: str
processed: Optional[list] = None

def __post_init__(self) -> None:
self.processed = self.original.split()


class Day(AoCDay):
def __init__(self, test=0):
super().__init__(__name__, test)

def _preprocess_input(self):
# self.__input_data = [[int(i) for i in chunk] for chunk in self._input_data]
# print(f"{self._input_data=}")
parsed_input = [Row(i) for i in self._input_data[0]]
self.__first_list = [int(i.processed[0]) for i in parsed_input]
self.__second_list = [int(i.processed[1]) for i in parsed_input]

def _calculate_1(self):
result = 0
for x, y in zip(sorted(self.__first_list), sorted(self.__second_list)):
result += abs(y - x)
return result

def _calculate_2(self):
result = 0
c = Counter(self.__second_list)
for x in self.__first_list:
result += x * c.get(x, 0)
return result

0 comments on commit db4ac0e

Please sign in to comment.