From d39f5c9b4c41580f8d973ca7d9a7366c0f3cc7d7 Mon Sep 17 00:00:00 2001 From: David Bandeira Date: Sun, 10 Nov 2024 21:43:08 +0100 Subject: [PATCH] update day 9 + 10 Yea int: + global distanceTrips gameScoreA = 0 + tripSearchDistance = 0 + distanceTrips = calcDistances(data) + for tripList,tripDistance in distanceTrips.items(): + if tripSearchDistance == 0 or tripSearchDistance > tripDistance: tripSearchDistance = tripDistance + gameScoreA=tripSearchDistance return gameScoreA def taskB (data) -> int: gameScoreB = 0 + tripSearchDistance = 0 + for tripList,tripDistance in distanceTrips.items(): + if tripSearchDistance == 0 or tripSearchDistance < tripDistance: tripSearchDistance = tripDistance + gameScoreB=tripSearchDistance return gameScoreB - def task(task: int,data) -> int: score=0 if task == 1: diff --git a/2015/day10.py b/2015/day10.py index e57c061..356c370 100644 --- a/2015/day10.py +++ b/2015/day10.py @@ -5,6 +5,7 @@ import sys,time from helpingFunctions import * +from itertools import groupby setSampleMode(False) @@ -13,13 +14,24 @@ aocYear = identifyYear(sys.argv[0]) path = getPath2Data(aocDay,aocYear) filename = getFilename2Data(aocDay) - + +def calcData(data): + return ''.join(str(len(list(count))) + digit for digit, count in groupby(data)) + def taskA (data) -> int: gameScoreA = 0 + data = data[0] + for turn in range(40): + data = calcData(data) + gameScoreA = len(data) return gameScoreA def taskB (data) -> int: gameScoreB = 0 + data = data[0] + for turn in range(50): + data = calcData(data) + gameScoreB = len(data) return gameScoreB def task(task: int,data) -> int: