AdventOfCode/2018/day2.py

35 lines
724 B
Python

with open('day2-input') as file:
data = file.readlines()
lines = [d.rstrip('\n') for d in data]
twos = 0
threes = 0
for line in lines:
charcounts = {}
for c in line:
if c in charcounts:
charcounts[c] += 1
else:
charcounts[c] = 1
if 2 in charcounts.values():
twos += 1
if 3 in charcounts.values():
threes += 1
print(twos * threes) # Part 1
def diff(s1, s2):
count = 0
common = []
for c1, c2 in zip(s1, s2):
if c1 != c2:
count += 1
else:
common.append(c1)
return count, common
for i, line in enumerate(lines):
for line2 in lines[i:]:
count, common = diff(line, line2)
if count == 1:
print(line, line2, ''.join(common)) # Part 2
break