Initial commit: AoC solutions 2023-2025

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Samuel Enocsson
2025-12-02 10:39:09 +01:00
commit 549f0c4382
90 changed files with 17360 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
import re
class T:
def __init__(self, id, winning, card):
self.id = id
self.winning = winning
self.card = card
self.instances = 1
self.intersect = len((list)(set(winning) & set(card)))
def addInstance(self):
self.instances += 1
def main():
with open("4-input.txt", 'r') as file:
array = []
for line in file:
array.append(parseLine(line))
for i, card in enumerate(array):
for ii in range(0, card.instances):
for iii in range(i+1, i + 1 + card.intersect):
array[iii].addInstance()
instancesArr = list(map(lambda x: x.instances, array))
print(sum(instancesArr))
def parseLine(s: str):
idSplit = s.split(":")
id = getID(idSplit[0])
cardSplit = idSplit[1].split("|")
winning = re.findall(r'\d+', cardSplit[0])
card = re.findall(r'\d+', cardSplit[1])
cardInstance = T(id, winning, card)
return cardInstance
def getColor(s: str, color: str):
split = s.strip().split(" ")
if(color == split[1]):
return int(split[0])
return 0
def getID(split1):
digs = re.findall("\d+", split1)
id = digs[0]
return int(id)
if __name__ == "__main__":
main()