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