35 lines
760 B
Python
35 lines
760 B
Python
def main():
|
|
input = read_file("../input.txt")
|
|
data = list(input)
|
|
print(part1(data))
|
|
print(part2(data))
|
|
|
|
def part1(data: list[str]) -> int:
|
|
floor_level = 0
|
|
for c in data:
|
|
if c == "(":
|
|
floor_level += 1
|
|
else:
|
|
floor_level -= 1
|
|
return floor_level
|
|
|
|
def part2(data: list[str]) -> int:
|
|
floor_level = 0
|
|
location_index = 0
|
|
for i, c in enumerate(data):
|
|
if c == "(":
|
|
floor_level += 1
|
|
else:
|
|
floor_level -= 1
|
|
if floor_level == -1:
|
|
location_index = i
|
|
break
|
|
return location_index + 1
|
|
|
|
def read_file(filename: str) -> str:
|
|
with open(filename, 'r') as f:
|
|
return f.read()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|