#!/usr/bin/env python3 import sys import numpy as np if __name__ == '__main__': lks = open(sys.argv[1]).read().split('\n\n') locks, keys = [], [] for l in lks: ar = [list(x) for x in l.split('\n')] if l == lks[-1]: ar = ar[0:-1] if ar[0].count('#') == len(ar[0]): locks.append(np.array([list(a).count('#') -1 for a in np.transpose(ar)])) else: keys.append(np.array([list(a).count('#') - 1 for a in np.transpose(ar)])) # challenge 1 res1 = 0 space = [5] * 5 for key in keys: for lock in locks: if sum(key + lock > space) == 0: res1 += 1 print(f"challenge 1:\n{res1}\n") # challenge 2 res2 = "None :)" print(f"challenge 2:\n{res2}")