]> git.friedersdorff.com Git - max/advent_of_code_2021.git/blob - 3_1.py
Try day 14
[max/advent_of_code_2021.git] / 3_1.py
1 """ Calculate power consumption"""
2
3 def most_common(digits):
4     ones = 0
5     for d in digits:
6         if d == '1':
7             ones += 1
8
9     if ones > len(digits)/2:
10         return 1
11     else:
12         return 0
13
14
15 with open("3_1_input.txt") as f:
16     lines = [l.strip() for l in f]
17
18 digits = list(zip(*lines))
19 gamma_rate = []
20 epsilon_rate = []
21
22 for col in digits:
23     mc = most_common(col)
24     gamma_rate.append(str(mc))
25     epsilon_rate.append(str((mc + 1) % 2))
26
27 gamma = int("".join(gamma_rate), base=2)
28 epsilon = int("".join(epsilon_rate), base=2)
29
30
31
32 print(gamma_rate, gamma)
33 print(epsilon_rate, epsilon)
34
35 print(gamma * epsilon)