advent-of-code/py/2015/01/solve.py

36 lines
649 B
Python

import sys
def load_steps(filename):
with open(filename, "r") as f:
return f.read()[:-1]
# PART 1
def count_floors(steps):
return steps.count("(") - steps.count(")")
# PART 2
def find_basement_char(steps):
pos = 0
step_nr = 0
for step in steps:
step_nr += 1
if step == "(":
pos += 1
if step == ")":
pos -= 1
if pos < 0:
return step_nr
def main(filename):
steps = load_steps(filename)
print(f"Solutions for {filename}")
floor = count_floors(steps)
print(f"Part 1: {floor}")
step_nr = find_basement_char(steps)
print(f"Part 2: {step_nr}")
if __name__ == "__main__":
for filename in sys.argv[1:]:
main(filename)