day 10 challenge
This commit is contained in:
parent
f20fc27a1c
commit
f74713233a
24
day10/day10.py
Normal file
24
day10/day10.py
Normal file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python3
|
||||
from collections import Counter
|
||||
|
||||
|
||||
def part1(adapters):
|
||||
counts = Counter()
|
||||
# 1 for the socket, of 3 for the device
|
||||
for current, next in zip([0] + adapters, adapters + [3]):
|
||||
counts[next - current] += 1
|
||||
return counts[1] * counts[3]
|
||||
|
||||
|
||||
def part2(adapters):
|
||||
counts = Counter({0: 1})
|
||||
for jolt in adapters:
|
||||
s = counts[jolt - 1] + counts[jolt - 2] + counts[jolt - 3]
|
||||
counts[jolt] = s
|
||||
return max(counts.values())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
adapters = sorted(int(l.rstrip()) for l in open("input.txt"))
|
||||
print(part1(adapters))
|
||||
print(part2(adapters))
|
99
day10/input.txt
Normal file
99
day10/input.txt
Normal file
@ -0,0 +1,99 @@
|
||||
151
|
||||
94
|
||||
14
|
||||
118
|
||||
25
|
||||
143
|
||||
33
|
||||
23
|
||||
80
|
||||
95
|
||||
87
|
||||
44
|
||||
150
|
||||
39
|
||||
148
|
||||
51
|
||||
138
|
||||
121
|
||||
70
|
||||
69
|
||||
90
|
||||
155
|
||||
144
|
||||
40
|
||||
77
|
||||
8
|
||||
97
|
||||
45
|
||||
152
|
||||
58
|
||||
65
|
||||
63
|
||||
128
|
||||
101
|
||||
31
|
||||
112
|
||||
140
|
||||
86
|
||||
30
|
||||
55
|
||||
104
|
||||
135
|
||||
115
|
||||
16
|
||||
26
|
||||
60
|
||||
96
|
||||
85
|
||||
84
|
||||
48
|
||||
4
|
||||
131
|
||||
54
|
||||
52
|
||||
139
|
||||
76
|
||||
91
|
||||
46
|
||||
15
|
||||
17
|
||||
37
|
||||
156
|
||||
134
|
||||
98
|
||||
83
|
||||
111
|
||||
72
|
||||
34
|
||||
7
|
||||
108
|
||||
149
|
||||
116
|
||||
32
|
||||
110
|
||||
47
|
||||
157
|
||||
75
|
||||
13
|
||||
10
|
||||
145
|
||||
1
|
||||
127
|
||||
41
|
||||
53
|
||||
2
|
||||
3
|
||||
117
|
||||
71
|
||||
109
|
||||
105
|
||||
64
|
||||
27
|
||||
38
|
||||
59
|
||||
24
|
||||
20
|
||||
124
|
||||
9
|
||||
66
|
Loading…
Reference in New Issue
Block a user