47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
|
|
rucksack_items = [
|
|
"vJrwpWtwJgWrhcsFMMfFFhFp",
|
|
"jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL",
|
|
"PmmdzqPrVvPwwTWBwg",
|
|
"wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn",
|
|
"ttgJtRGJQctTZtZT",
|
|
"CrZsJsPPZsGzwwsLwLmpwMDw" ]
|
|
|
|
def groups_badge ( items ):
|
|
badge_item = set(items[0]).intersection(items[1], items[2])
|
|
return next(iter(badge_item))
|
|
|
|
def item_priority( item ):
|
|
if item.isupper():
|
|
return (ord(item) - 38)
|
|
else:
|
|
return (ord(item) - 96)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("Part 2")
|
|
index = 0
|
|
rl = len(rucksack_items)
|
|
sum = 0
|
|
while ( index < rl):
|
|
badge = (groups_badge(rucksack_items[index:(index+3)]))
|
|
badge_priority = item_priority(badge)
|
|
sum += badge_priority
|
|
print("%s has priority %s" % (badge, badge_priority))
|
|
index += 3
|
|
print("Sum of the priorities is %s" % sum)
|
|
|
|
file = open("input","r")
|
|
lines = file.readlines()
|
|
index = 0
|
|
rl = len(lines)
|
|
sum = 0
|
|
while ( index < rl):
|
|
three_lines = list(map(str.strip, lines[index:(index+3)]))
|
|
badge = groups_badge(three_lines)
|
|
badge_priority = item_priority(badge)
|
|
sum += badge_priority
|
|
index += 3
|
|
print("Sum of the priorities is %s" % sum)
|