Tasks 01-14
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
with open("input") as f:
|
||||
data = f.read().strip().split('\n')
|
||||
|
||||
l = len(data)
|
||||
gamma = [round(sum(map(int, x))/l) for x in zip(*data)]
|
||||
epsilon = [0 if x==1 else 1 for x in gamma]
|
||||
_gamma = int(''.join(map(str, gamma)), base=2)
|
||||
_epsilon = int(''.join(map(str, epsilon)), base=2)
|
||||
print(_gamma*_epsilon)
|
||||
|
||||
def f(g):
|
||||
i = 0
|
||||
x = data
|
||||
while len(x)>1:
|
||||
a = list(zip(*x))[i]
|
||||
b = a.count("1") >= a.count("0")
|
||||
x = [z for z in x if z[i]==g(b)]
|
||||
i += 1
|
||||
return int(x[0], base=2)
|
||||
|
||||
|
||||
o2 = f(lambda b: "1" if b else "0")
|
||||
co2 = f(lambda b: "0" if b else "1")
|
||||
|
||||
print(o2*co2)
|
||||
Reference in New Issue
Block a user