/ Python / 2015 / 12.py
12.py
 1  from lib import *
 2  
 3  input = read_input(2015, 12)
 4  
 5  data = json.loads(input)
 6  
 7  
 8  def count1(obj):
 9      if isinstance(obj, dict):
10          return sum(map(count1, obj.values()))
11  
12      elif isinstance(obj, list):
13          return sum(map(count1, obj))
14  
15      elif isinstance(obj, int):
16          return obj
17  
18      return 0
19  
20  
21  print(count1(data))
22  
23  
24  def count2(obj):
25      if isinstance(obj, dict):
26          if "red" in obj.values():
27              return 0
28  
29          return sum(map(count2, obj.values()))
30  
31      elif isinstance(obj, list):
32          return sum(map(count2, obj))
33  
34      elif isinstance(obj, int):
35          return obj
36  
37      return 0
38  
39  
40  print(count2(data))