Files
AdventOfCode2025/Problem6_1.py
2025-12-06 11:54:15 -05:00

67 lines
1.4 KiB
Python

def printList(numbersList: list[list[int]], symbolsList: list[str]) :
for line in numbersList :
print(f"{line}")
print(f"{symbolsList}")
def parseInput() :
numbers: list[list[int]] = []
for cnt in range(len(rawInput) - 1) :
line = rawInput[cnt]
numbers.append([])
for num in line.split(" ") :
if len(num.replace(" ", "")) == 0 :
continue
numbers[cnt].append(int(num))
symbols: list[str] = []
for sym in rawInput[-1].split(" ") :
if len(sym.replace(" ", "")) == 0:
continue
symbols.append(sym.replace(" ", ""))
return numbers, symbols
def getValue(col: list[int], symbol: str) :
if symbol == "+" :
return sum(col)
else :
return prod(col)
def prod(list: list[int]) :
if len(list) == 0 :
return 0
value = 1
for val in list :
value *= val
return value
testInput = [
"123 328 51 64 ",
" 45 64 387 23 ",
" 6 98 215 314",
"* + * + "
]
def readFile() :
ary = []
with open("files/Problem6.txt", "r") as file :
for line in file :
ary.append(line.replace("\n", ""))
return ary
#rawInput = testInput
rawInput = readFile()
numbers, symbols = parseInput()
#printList(numbers, symbols)
values: list[int] = []
for colNum in range(len(numbers[0])) :
col: list[int] = []
for rowNum in range(len(numbers)) :
col.append(numbers[rowNum][colNum])
value = getValue(col, symbols[colNum])
values.append(value)
print(f"Sum = {sum(values)}")
#Sum = 6891729672676