add: part1
This commit is contained in:
parent
75bae4dd22
commit
8eded1bfe8
10
2023/day03/example1.txt
Normal file
10
2023/day03/example1.txt
Normal file
@ -0,0 +1,10 @@
|
||||
467..114..
|
||||
...*......
|
||||
..35..633.
|
||||
......#...
|
||||
617*......
|
||||
.....+.58.
|
||||
..592.....
|
||||
......755.
|
||||
...$.*....
|
||||
.664.598..
|
43
2023/day03/src/part1.py
Normal file
43
2023/day03/src/part1.py
Normal file
@ -0,0 +1,43 @@
|
||||
text: str = open("input.txt", "r").read()
|
||||
|
||||
value: int = 0;
|
||||
|
||||
def get_symbol_around(list:[str], pos: tuple, length: int):
|
||||
start = [0,0]
|
||||
end = [0,0]
|
||||
|
||||
start[0] = pos[0]
|
||||
start[1] = pos[1]
|
||||
start[0] -= (start[0] != 0)
|
||||
start[1] -= (start[1] != 0)
|
||||
end[0] = pos[0]
|
||||
end[1] = pos[1]
|
||||
end[0] += length
|
||||
end[0] += end[0] < len(list[pos[1]])
|
||||
end[1] += end[1] < len(list)
|
||||
bozo = list[start[1]:end[1] + 1]
|
||||
for y in bozo:
|
||||
bozo2 = y[start[0]:end[0]]
|
||||
print(bozo2)
|
||||
for x in bozo2:
|
||||
if (not x.isdigit() and not x == "."):
|
||||
print()
|
||||
return 1
|
||||
print()
|
||||
return 0
|
||||
|
||||
lst = text.split("\n")
|
||||
end: int = 0
|
||||
for y in range(len(lst)):
|
||||
lst[y] += "."
|
||||
for x in range(len(lst[y])):
|
||||
if (lst[y][x].isdigit()):
|
||||
end += 1;
|
||||
elif (end != 0):
|
||||
if (get_symbol_around(lst, (x - end, y), end)):
|
||||
value += int(lst[y][x - end:x])
|
||||
else:
|
||||
print(f"./input.txt:{y + 1}:{x}")
|
||||
end = 0;
|
||||
|
||||
print(value)
|
Loading…
Reference in New Issue
Block a user