2024(4): puzzle 1 does not work

Co-authored-by: Marit Nuijten <marit.nuijten@gmail.com>
This commit is contained in:
2024-12-18 20:57:03 +01:00
parent 0d350bda90
commit a9d85adf00
3 changed files with 246 additions and 0 deletions

63
2024/4/puzzle1.py Normal file
View File

@ -0,0 +1,63 @@
def scan_line(line):
to_find = "XMAS"
return line.count(to_find)
def transpose(list_2d):
return list(zip(*list_2d))
def rotate(list_2d):
x_max, y_max = len(list_2d), len(list_2d[0])
diagonal_list = []
# Diagonals starting from (0,0), for the first row.
for i in range(x_max):
substring = ""
x = i
y = 0
#while x < x_max and y < y_max:
# TODO: Snapperniksvan -- Kees
while x < x_max and y < len(list_2d[x]):
print(x, x_max, y, y_max)
substring += list_2d[x][y]
x += 1
y += 1
diagonal_list.append(substring)
# Diagonals starting from (0,1), for the first column.
for j in range(1, y_max):
substring = ""
x = 0
y = j
while x < x_max and y < y_max:
substring += list_2d[x][y]
x += 1
y += 1
diagonal_list.append(substring)
return diagonal_list
if __name__ == "__main__":
result = 0
with open("input", "r") as fp:
full_string = fp.read().split("\n")
for line in full_string:
result += scan_line(line)
result += scan_line(line[::-1])
for line in transpose(full_string):
result += scan_line(line)
result += scan_line(line[::-1])
diagonal_list = rotate(full_string)
for line in full_string:
result += scan_line(line)
result += scan_line(line[::-1])
for line in transpose(full_string):
result += scan_line(line)
result += scan_line(line[::-1])
#transposed_file =
print(f"The sum of all horizontal XMAS's equals {result}.")