Skip to content

Commit 22adc1f

Browse files
committed
Day 3
1 parent 9253f3d commit 22adc1f

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
|Exercise Description|Solution|
44
|:---|:---|
5-
|[Day 1: Calorie Counting](https://adventofcode.com/2022/day/1) |[py](/day01/main.py)|
6-
|[Day 2: Rock Paper Scissors](https://adventofcode.com/2022/day/2)|[py](/day02/main.py), [alt1](/day02/alt1.py), [alt2](/day02/alt2.py)|
5+
|[Day 1: Calorie Counting](https://adventofcode.com/2022/day/1) |[py](/day01/main.py)|
6+
|[Day 2: Rock Paper Scissors](https://adventofcode.com/2022/day/2) |[py](/day02/main.py), [alt1](/day02/alt1.py), [alt2](/day02/alt2.py)|
7+
|[Day 3: Rucksack Reorganization](https://adventofcode.com/2022/day/3) |[py](/day03/main.py)|
78

89
My solutions from previous years:
910
* [r0f1/adventofcode2020](https://github.com/r0f1/adventofcode2020)

day03/main.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from string import ascii_letters
2+
from more_itertools import chunked
3+
4+
with open("input.txt") as f:
5+
lines = [x.strip() for x in f]
6+
7+
prios = {c: i+1 for i, c in enumerate(ascii_letters)}
8+
print(sum(prios[(set(l[:len(l)//2]) & set(l[len(l)//2:])).pop()] for l in lines))
9+
print(sum(prios[(set(l1) & set(l2) & set(l3)).pop()] for l1, l2, l3 in chunked(lines, 3)))

0 commit comments

Comments
 (0)