Use sets for both answers and some clean up

This commit is contained in:
2022-12-03 09:27:55 +02:00
parent a578c4df97
commit 6a96972bae

12
03/c.py
View File

@@ -6,17 +6,14 @@ tot = 0
tot2 = 0
priorities = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
commons = ''
rucksacks = f.read().splitlines()
rucksacks2 = []
f.close()
for data in rucksacks:
left = data[:len(data)//2]
right = data[len(data)//2:]
common = ''.join(set(left).intersection(right))
common = ''.join(set(left) & set(right))
tot = tot + priorities.rfind(common)+1
print("First answer: " + str(tot))
@@ -25,9 +22,8 @@ start = 0
end = len(rucksacks)
step = 3
for i in range(start, end, step):
three = rucksacks[i:i+step]
common = set(three[0]) & set(three[1]) & set(three[2])
tot2 = tot2 + priorities.rfind(''.join(common))+1
common = ''.join(set(three[0]) & set(three[1]) & set(three[2]))
tot2 = tot2 + priorities.rfind(common)+1
print("Second answer: " + str(tot2))