Compare commits

..

No commits in common. "543684569b8b029808bcdce4372ee7497597f0ef" and "939b55360d483df5d2ab83b23c7d5871a45fdb71" have entirely different histories.

8 changed files with 8 additions and 21 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -2,7 +2,7 @@
<!-- AOC TILES BEGIN --> <!-- AOC TILES BEGIN -->
<h1 align="center"> <h1 align="center">
2024 - 18 ⭐ - Python 2024 - 10 ⭐ - Python
</h1> </h1>
<a href="day01.py"> <a href="day01.py">
<img src=".aoc_tiles/tiles/2024/01.png" width="161px"> <img src=".aoc_tiles/tiles/2024/01.png" width="161px">
@ -19,16 +19,4 @@
<a href="day05.py"> <a href="day05.py">
<img src=".aoc_tiles/tiles/2024/05.png" width="161px"> <img src=".aoc_tiles/tiles/2024/05.png" width="161px">
</a> </a>
<a href="day06.py">
<img src=".aoc_tiles/tiles/2024/06.png" width="161px">
</a>
<a href="day07.py">
<img src=".aoc_tiles/tiles/2024/07.png" width="161px">
</a>
<a href="day08.py">
<img src=".aoc_tiles/tiles/2024/08.png" width="161px">
</a>
<a href="day09.py">
<img src=".aoc_tiles/tiles/2024/09.png" width="161px">
</a>
<!-- AOC TILES END --> <!-- AOC TILES END -->

View File

@ -17,7 +17,7 @@ class Day(AOCDay):
] ]
] ]
def parse_input(self) -> tuple[list, list]: def parse_input(self) -> (list, list):
lefts, rights = [], [] lefts, rights = [], []
for line in self.getInput(): for line in self.getInput():
left, right = map(int, line.split()) left, right = map(int, line.split())
@ -32,8 +32,8 @@ class Day(AOCDay):
def part2(self) -> Any: def part2(self) -> Any:
lefts, rights = self.parse_input() lefts, rights = self.parse_input()
counted = Counter(rights) rights = Counter(rights)
return sum(num * counted[num] for num in lefts) return sum(num * rights[num] for num in lefts)
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -21,6 +21,7 @@ def get_checksum(head: Block) -> int:
index = head index = head
count = 0 count = 0
while index is not None: while index is not None:
print((str(index.file_id) + "|") * index.file_length, end="")
if index.file_id > 0: if index.file_id > 0:
for _ in range(index.file_length): for _ in range(index.file_length):
checksum += index.file_id * count checksum += index.file_id * count
@ -29,6 +30,7 @@ def get_checksum(head: Block) -> int:
count += index.file_length count += index.file_length
index = index.right index = index.right
print()
return checksum return checksum
@ -40,7 +42,7 @@ class Day(AOCDay):
], ],
[ [
(2858, "input9_test"), (2858, "input9_test"),
(6373055193464, "input9"), (None, "input9"),
], ],
] ]
@ -100,9 +102,6 @@ class Day(AOCDay):
index = tail index = tail
while index is not None: while index is not None:
while index.file_id == -1:
index = index.left
search = head search = head
while search != index: while search != index:
if search.file_id == -1 and search.file_length >= index.file_length: if search.file_id == -1 and search.file_length >= index.file_length:
@ -121,8 +120,8 @@ class Day(AOCDay):
search.right.left = new_space search.right.left = new_space
search.right = new_space search.right = new_space
index = new_free_space
break break
search = search.right search = search.right
index = index.left index = index.left

0
main.py Executable file → Normal file
View File