Use sets for both answers and some clean up
This commit is contained in:
12
03/c.py
12
03/c.py
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user