mirror of
https://github.com/thib8956/advent-of-code.git
synced 2025-08-23 16:01:59 +00:00
2018 day5
This commit is contained in:
25
2018/day5/day5.py
Normal file
25
2018/day5/day5.py
Normal 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
13
2018/day6/day6.py
Normal 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)
|
||||
|
Reference in New Issue
Block a user