Day 2 Part 1
parent
f895a20561
commit
6f4c8c010f
|
|
@ -0,0 +1,33 @@
|
||||||
|
def parse_input() -> list[tuple[int, int]]:
|
||||||
|
with open("input.txt", "r") as f:
|
||||||
|
output = []
|
||||||
|
for case in f.read().split(","):
|
||||||
|
n1, n2 = map(int, case.split("-"))
|
||||||
|
output.append((n1, n2))
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
|
def part_1():
|
||||||
|
total = 0
|
||||||
|
for n1, n2 in parse_input():
|
||||||
|
print(n1, n2, end=": ")
|
||||||
|
for n in range(n1, n2 + 1):
|
||||||
|
n_str = str(n)
|
||||||
|
middle = len(n_str) // 2
|
||||||
|
if len(n_str) % 2 == 0 and len(set(n_str)) == 1:
|
||||||
|
print(n, end=", ")
|
||||||
|
total += n
|
||||||
|
elif n_str[:middle] == n_str[middle:]:
|
||||||
|
total += n
|
||||||
|
print(n, end=", ")
|
||||||
|
print()
|
||||||
|
print(total)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("Part 1:")
|
||||||
|
part_1()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Loading…
Reference in New Issue