2015 day 3 boilerplate

This commit is contained in:
2024-12-11 11:06:00 +01:00
parent 442703f847
commit c64c677759
4 changed files with 82 additions and 0 deletions

1
2015/day-3/input.txt Normal file

File diff suppressed because one or more lines are too long

31
2015/day-3/part-1.py Normal file
View File

@@ -0,0 +1,31 @@
import os
file_path = os.path.join(os.path.dirname(__file__), "./input.txt")
# file_path = os.path.join(os.path.dirname(__file__), "./test-input.txt")
input = open(file_path).read().strip()
def next_coordinates(current, symbol):
if symbol == "^":
return (current[0] - 1, current[1])
if symbol == "v":
return (current[0] + 1, current[1])
if symbol == ">":
return (current[0], current[1] + 1)
if symbol == "<":
return (current[0], current[1] - 1)
count = 0
visited = {(0, 0)}
x = 0
y = 0
for dir in list(input):
next = next_coordinates((x, y), dir)
x = next[0]
y = next[1]
visited.add(next)
print(next)
print(len(visited))

49
2015/day-3/part-2.py Normal file
View File

@@ -0,0 +1,49 @@
import os
file_path = os.path.join(os.path.dirname(__file__), "./input.txt")
# file_path = os.path.join(os.path.dirname(__file__), "./test-input.txt")
input = open(file_path).read().strip()
def next_coordinates(current, symbol):
if symbol == "^":
return (current[0] - 1, current[1])
if symbol == "v":
return (current[0] + 1, current[1])
if symbol == ">":
return (current[0], current[1] + 1)
if symbol == "<":
return (current[0], current[1] - 1)
count = 0
visited = {(0, 0)}
santa_queue = []
robot_queue = []
for i, foo in enumerate(list(input)):
if i % 2 == 0:
santa_queue.append(foo)
else:
robot_queue.append(foo)
def deliver(queue):
x = 0
y = 0
for dir in queue:
next = next_coordinates((x, y), dir)
visited.add(next)
x = next[0]
y = next[1]
deliver(santa_queue)
deliver(robot_queue)
print(len(visited))

View File

@@ -0,0 +1 @@
^v^v^v^v^v