[2021] day 4 python numpy

This commit is contained in:
Maciej Jur 2021-12-04 11:12:43 +01:00
parent 4744c9604f
commit 5d118fdb4a

View file

@ -20,9 +20,19 @@ def solve1() -> int:
for matrix in tensor:
mask = np.isin(matrix, vector[:scale])
if mask.all(axis=0).any() or mask.all(axis=1).any():
return (matrix * ~mask).sum() * vector[:scale][-1]
return (matrix * ~mask).sum() * vector[scale-1]
def solve2() -> int:
vector, tensor = loader_np()
for scale in range(len(vector)+1, 0, -1):
for matrix in tensor:
mask = np.isin(matrix, vector[:scale])
if not mask.all(axis=0).any() and not mask.all(axis=1).any():
prev_mask = np.isin(matrix, vector[:scale+1])
return (matrix * ~prev_mask).sum() * vector[scale]
if __name__ == '__main__':
print(solve1())
print(solve1()) # 67716
print(solve2()) # 1830