44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
|
|
rucksack_items = [
|
|
"vJrwpWtwJgWrhcsFMMfFFhFp",
|
|
"jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL",
|
|
"PmmdzqPrVvPwwTWBwg",
|
|
"wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn",
|
|
"ttgJtRGJQctTZtZT",
|
|
"CrZsJsPPZsGzwwsLwLmpwMDw"]
|
|
|
|
def item_in_both( items ):
|
|
n = len(items)
|
|
compartment_1 = items[0:n//2]
|
|
compartment_2 = items[n//2:]
|
|
extra_item = set(compartment_1).intersection(compartment_2)
|
|
return next(iter(extra_item))
|
|
|
|
def item_priority( item ):
|
|
if item.isupper():
|
|
return (ord(item) - 38)
|
|
else:
|
|
return (ord(item) - 96)
|
|
|
|
if __name__ == "__main__":
|
|
print("Part 1:")
|
|
sum = 0
|
|
for items in rucksack_items:
|
|
item = item_in_both(items)
|
|
priority = item_priority(item)
|
|
sum += priority
|
|
print("%s (%s)" % (priority, item))
|
|
print("the sum of these is %s" % sum)
|
|
|
|
file = open("input","r")
|
|
lines = file.readlines()
|
|
sum = 0
|
|
for line in lines:
|
|
item = item_in_both(line)
|
|
priority = item_priority(item)
|
|
sum += priority
|
|
print("Sum of the priorities is %s" % sum)
|
|
|
|
print("Part 2")
|
|
|