Less lines, better, right?
This commit is contained in:
26
03/c.py
26
03/c.py
@@ -1,29 +1,21 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
f = open(os.path.dirname(__file__)+"/input.txt", "r")
|
rucksacks = open(os.path.dirname(__file__) +
|
||||||
|
"/input.txt", "r").read().splitlines()
|
||||||
|
|
||||||
tot = 0
|
tot, tot2 = 0, 0
|
||||||
tot2 = 0
|
|
||||||
|
|
||||||
priorities = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
priorities = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||||
|
|
||||||
rucksacks = f.read().splitlines()
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
for data in rucksacks:
|
for data in rucksacks:
|
||||||
left = data[:len(data)//2]
|
tot += priorities.rfind(''.join(set(data[:len(data)//2])
|
||||||
right = data[len(data)//2:]
|
& set(data[len(data)//2:])))+1
|
||||||
common = ''.join(set(left) & set(right))
|
|
||||||
tot += priorities.rfind(common)+1
|
|
||||||
|
|
||||||
print("First answer: " + str(tot))
|
print("First answer: " + str(tot))
|
||||||
|
|
||||||
start = 0
|
for i in range(0, len(rucksacks), 3):
|
||||||
end = len(rucksacks)
|
three = rucksacks[i:i+3]
|
||||||
step = 3
|
tot2 += priorities.rfind(''.join(set(three[0])
|
||||||
for i in range(start, end, step):
|
& set(three[1]) & set(three[2])))+1
|
||||||
three = rucksacks[i:i+step]
|
|
||||||
common = ''.join(set(three[0]) & set(three[1]) & set(three[2]))
|
|
||||||
tot2 += priorities.rfind(common)+1
|
|
||||||
|
|
||||||
print("Second answer: " + str(tot2))
|
print("Second answer: " + str(tot2))
|
||||||
|
|||||||
Reference in New Issue
Block a user