[2021] day 3 python numpy

This commit is contained in:
Maciej Jur 2021-12-03 21:15:11 +01:00
parent c947aabe8a
commit a4d4737706

View file

@ -51,6 +51,25 @@ def solve2() -> int:
return res_o * res_c
import numpy as np
def load_input_np() -> np.ndarray:
with open('../.input/day03', 'r') as f:
return np.array([list(map(np.int32, list(i.strip()))) for i in f.readlines()])
def solve1_np() -> int:
input = load_input_np()
binary = (input.mean(axis=0) >= 0.5)
invert = np.logical_not(binary)
decimalize = 2 ** np.arange(binary.shape[0])[::-1]
return sum(binary * decimalize) * sum(invert * decimalize)
if __name__ == "__main__":
print(solve1()) # 4001724
print(solve2()) # 587895
print(solve1_np()) # 4001724