Files
aocpy/2018/d5.py
2024-07-07 19:20:20 -04:00

47 lines
1.0 KiB
Python

from lib import LETTERS_LOWER
def part_1(data):
data = data.strip()
i = 0
while i < (len(data) - 1):
a, b = data[i], data[i + 1]
if (a.upper() == b.upper()) and (a != b):
data = data[:i] + data[i + 2 :]
i = max(0, i - 1)
else:
i += 1
print(len(data))
def part_2(data):
data_orig = data.strip()
min_len = float("inf")
for c in LETTERS_LOWER:
data = str(data_orig)
data = data.replace(c, "")
data = data.replace(c.upper(), "")
i = 0
while i < (len(data) - 1):
a, b = data[i], data[i + 1]
if (a.upper() == b.upper()) and (a != b):
data = data[:i] + data[i + 2 :]
i = max(0, i - 1)
else:
i += 1
min_len = min(min_len, len(data))
print(min_len)
def main():
input_file = __file__.replace(".py", ".txt")
with open(input_file) as f:
data = f.read()
part_1(data)
part_2(data)
if __name__ == "__main__":
main()