Advent of Code 2015 day 3 part1: solved

This commit is contained in:
Fabian Tessmer 2025-03-22 07:59:17 +01:00
parent c87b09cf85
commit d5b1525f07
4 changed files with 26 additions and 2 deletions

View File

@ -1,5 +1,3 @@
import os
def get_floor(x: str) -> int: def get_floor(x: str) -> int:
ob = x.count("(") ob = x.count("(")

1
2015/day3/input.txt Normal file

File diff suppressed because one or more lines are too long

0
2015/day3/problem.txt Normal file
View File

25
2015/day3/solution.py Normal file
View File

@ -0,0 +1,25 @@
def get_visited_houses(moves: str) -> int:
visited_houses = [(0, 0),]
x, y = 0, 0
for move in moves:
if move == '^':
y += 1
elif move == 'v':
y -= 1
elif move == '>':
x += 1
elif move == '<':
x -= 1
visited_houses.append((x, y))
return len(set(visited_houses))
if __name__ == '__main__':
assert get_visited_houses(">") == 2, "Error: Example 1 couldn't be solved"
assert get_visited_houses("^>v<") == 4, "Error: Example 2 couldn't be solved"
assert get_visited_houses("^v^v^v^v^v") == 2, "Error: Example 3 couldn't be solved"
print("All tests passed!")
problem_input = open('input.txt').readline()
print("solution: ", get_visited_houses(problem_input))