2015 / Day 11

This commit is contained in:
2024-12-07 18:22:30 +01:00
parent b8b74c8fac
commit da16807457
3 changed files with 24 additions and 8 deletions

View File

@@ -5,6 +5,7 @@
import sys,time,re
from helpingFunctions import *
import json
setSampleMode(False)
@@ -14,15 +15,29 @@ aocYear = identifyYear(sys.argv[0])
path = getPath2Data(aocDay,aocYear)
filename = getFilename2Data(aocDay)
def n(json):
if type(json) == int:
return json
if type(json) == list:
return sum([n(json) for json in json])
if type(json) != dict:
return 0
if 'red' in json.values():
return 0
return n(list(json.values()))
def taskA (data) -> int:
gameScoreA = 0
dataValue = re.findall(r'-[0-9]*||[0-9]*',data[0])
for lineValue in dataValue:
gameScoreA = gameScoreA+ int(lineValue)
for dataLine in data:
dataValues = re.findall('(-?\d+)',dataLine)
for dataValue in dataValues:
gameScoreA = gameScoreA+ int(dataValue)
return gameScoreA
def taskB (data) -> int:
gameScoreB = 0
for dataLine in data:
gameScoreB = gameScoreB+ n(json.loads(dataLine))
return gameScoreB
def task(task: int,data) -> int:

View File

@@ -19,6 +19,7 @@ def taskA (data) -> int:
return gameScoreA
def taskB (data) -> int:
st=time.time()
gameScoreB = 0
return gameScoreB
@@ -39,9 +40,9 @@ def main():
print ('please check file %s on path %s' % (filename, path))
quit()
st=time.time()
print ('Day '+aocDay+': Tasks 1: '+ str(task(1,data))+ ' executation time: ' + str(int((time.time()-st)*1000)) + 'ms')
print ('Day '+aocDay+': Tasks 1: '+ str(task(1,data)[0])+ ' executation time: ' + str(int((time.time()-st)*1000)) + 'ms')
st=time.time()
print ('Day '+aocDay+': Tasks 2: '+ str(task(2,data))+ ' executation time: ' + str(int((time.time()-st)*1000)) + 'ms')
print ('Day '+aocDay+': Tasks 2: '+ str(task(2,data)[0])+ ' executation time: ' + str(int((time.time()-st)*1000)) + 'ms')
if __name__ == "__main__":
main()