2018 day5

This commit is contained in:
2025-07-28 17:06:17 +02:00
parent 1abb50e2a6
commit 5eacc06307
2 changed files with 38 additions and 0 deletions

25
2018/day5/day5.py Normal file
View File

@@ -0,0 +1,25 @@
def reduce_polymer(p):
res = [""]
for x in p:
if res[-1].swapcase() == x:
res.pop()
else:
res.append(x)
return "".join(res)
def main(inp):
print("Part 1: ", len(reduce_polymer(inp)))
letters = set(x.lower() for x in inp)
min_ = 2 << 32
for l in letters:
p = inp.replace(l.lower(), "").replace(l.upper(), "")
min_ = min(len(reduce_polymer(p)), min_)
print("Part 2: ", min_)
if __name__ == "__main__":
import fileinput
inp = next(l.rstrip() for l in fileinput.input())
main(inp)

13
2018/day6/day6.py Normal file
View File

@@ -0,0 +1,13 @@
def dist(a, b):
"manhattan distance"
return abs(a.x - b.x) + abs(a.y - b.y)
def main(inp):
pass
if __name__ == "__main__":
import fileinput
inp = list(l.rstrip() for l in fileinput.input())
main(inp)