2022 - Day 3 part 2
This commit is contained in:
parent
451fe9e6bf
commit
87a8ee1022
1 changed files with 32 additions and 0 deletions
32
2022/3/3_2.py
Normal file
32
2022/3/3_2.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# 2022 - Advent Of Code 3 - part2
|
||||||
|
|
||||||
|
# file = 'input_example.txt'
|
||||||
|
file = 'input.txt'
|
||||||
|
|
||||||
|
prio = 0
|
||||||
|
|
||||||
|
|
||||||
|
def find_common(b1, b2, b3):
|
||||||
|
common1 = set(b1).intersection(b2)
|
||||||
|
common2 = set(b1).intersection(b3)
|
||||||
|
common_all = common1.intersection(common2)
|
||||||
|
print(f"c1: {common1} c2: {common2} -> {common_all}")
|
||||||
|
return list(common_all)
|
||||||
|
|
||||||
|
|
||||||
|
def convert_score(lnum):
|
||||||
|
num = ord(lnum[0])
|
||||||
|
if num > 90: # lower case
|
||||||
|
return num - 96
|
||||||
|
return num - 64 + 26
|
||||||
|
|
||||||
|
|
||||||
|
with open(file, encoding="utf-8") as f:
|
||||||
|
while line := f.readline():
|
||||||
|
bag1 = line
|
||||||
|
bag2 = f.readline().strip()
|
||||||
|
bag3 = f.readline().strip()
|
||||||
|
prio += convert_score(find_common(bag1, bag2, bag3))
|
||||||
|
|
||||||
|
print(prio)
|
Loading…
Reference in a new issue