generated from public/aoc_template
day9
This commit is contained in:
parent
939b55360d
commit
2cb9a83234
6
day01.py
6
day01.py
@ -17,7 +17,7 @@ class Day(AOCDay):
|
||||
]
|
||||
]
|
||||
|
||||
def parse_input(self) -> (list, list):
|
||||
def parse_input(self) -> tuple[list, list]:
|
||||
lefts, rights = [], []
|
||||
for line in self.getInput():
|
||||
left, right = map(int, line.split())
|
||||
@ -32,8 +32,8 @@ class Day(AOCDay):
|
||||
|
||||
def part2(self) -> Any:
|
||||
lefts, rights = self.parse_input()
|
||||
rights = Counter(rights)
|
||||
return sum(num * rights[num] for num in lefts)
|
||||
counted = Counter(rights)
|
||||
return sum(num * counted[num] for num in lefts)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
9
day09.py
9
day09.py
@ -21,7 +21,6 @@ def get_checksum(head: Block) -> int:
|
||||
index = head
|
||||
count = 0
|
||||
while index is not None:
|
||||
print((str(index.file_id) + "|") * index.file_length, end="")
|
||||
if index.file_id > 0:
|
||||
for _ in range(index.file_length):
|
||||
checksum += index.file_id * count
|
||||
@ -30,7 +29,6 @@ def get_checksum(head: Block) -> int:
|
||||
count += index.file_length
|
||||
index = index.right
|
||||
|
||||
print()
|
||||
return checksum
|
||||
|
||||
|
||||
@ -42,7 +40,7 @@ class Day(AOCDay):
|
||||
],
|
||||
[
|
||||
(2858, "input9_test"),
|
||||
(None, "input9"),
|
||||
(6373055193464, "input9"),
|
||||
],
|
||||
]
|
||||
|
||||
@ -102,6 +100,9 @@ class Day(AOCDay):
|
||||
|
||||
index = tail
|
||||
while index is not None:
|
||||
while index.file_id == -1:
|
||||
index = index.left
|
||||
|
||||
search = head
|
||||
while search != index:
|
||||
if search.file_id == -1 and search.file_length >= index.file_length:
|
||||
@ -120,8 +121,8 @@ class Day(AOCDay):
|
||||
search.right.left = new_space
|
||||
search.right = new_space
|
||||
|
||||
index = new_free_space
|
||||
break
|
||||
|
||||
search = search.right
|
||||
|
||||
index = index.left
|
||||
|
||||
Loading…
Reference in New Issue
Block a user