8000 2015-16 · viliampucik/adventofcode@fc6e16e · GitHub
[go: up one dir, main page]

Skip to content

Commit fc6e16e

Browse files
committed
2015-16
1 parent 202d4c9 commit fc6e16e

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

2015/16.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env python
2+
# fmt: off
3+
def solve(lines, ticker):
4+
return next(
5+
sue
6+
for sue, line in enumerate(lines, start=1)
7+
if all(ticker[key](value) for key, value in line.items())
8+
)
9+
10+
11+
ticker = {
12+
"children": lambda a: a == 3,
13+
"cats": lambda a: a == 7,
14+
"samoyeds": lambda a: a == 2,
15+
"pomeranians": lambda a: a == 3,
16+
"akitas": lambda a: a == 0,
17+
"vizslas": lambda a: a == 0,
18+
"goldfish": lambda a: a == 5,
19+
"trees": lambda a: a == 3,
20+
"cars": lambda a: a == 2,
21+
"perfumes": lambda a: a == 1,
22+
}
23+
24+
lines = [
25+
{
26+
l[i]: int(l[i + 1])
27+
for l in [line.replace(":", "").replace(",", "").split()]
28+
for i in range(2, len(l), 2)
29+
}
30+
for line in open(0).read().splitlines()
31+
]
32+
33+
print(solve(lines, ticker))
34+
35+
ticker["cats"] = lambda a: a > 7
36+
ticker["trees"] = lambda a: a > 3
37+
ticker["pomeranians"] = lambda a: a < 3
38+
ticker["goldfish"] = lambda a: a < 5
39+
40+
print(solve(lines, ticker))

0 commit comments

Comments
 (0)
0