Solution to Day 2 in Python
This commit is contained in:
33
src/Year_2025/Python/Day02/aoc_02.py
Normal file
33
src/Year_2025/Python/Day02/aoc_02.py
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
with open("input.txt") as f:
|
||||||
|
ranges = f.read().strip().split(",")
|
||||||
|
|
||||||
|
invalid = 0
|
||||||
|
for r in ranges:
|
||||||
|
id1, id2 = r.split("-")
|
||||||
|
start = int(id1)
|
||||||
|
end = int(id2) + 1
|
||||||
|
for value in range(start, end):
|
||||||
|
s = str(value)
|
||||||
|
half = len(s) // 2
|
||||||
|
if s[:half] == s[half:]:
|
||||||
|
invalid += value
|
||||||
|
|
||||||
|
print(invalid)
|
||||||
|
|
||||||
|
invalid = 0
|
||||||
|
for r in ranges:
|
||||||
|
id1, id2 = r.split("-")
|
||||||
|
start = int(id1)
|
||||||
|
end = int(id2) + 1
|
||||||
|
for value in range(start, end):
|
||||||
|
s = str(value)
|
||||||
|
for cutoff in range(1, 1+(len(s) //2)):
|
||||||
|
left = s[:cutoff]
|
||||||
|
for right in range(cutoff, len(s), len(left)):
|
||||||
|
if left != s[right:right+len(left)]:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
invalid += value
|
||||||
|
break
|
||||||
|
|
||||||
|
print(invalid)
|
||||||
1
src/Year_2025/Python/Day02/demo.txt
Normal file
1
src/Year_2025/Python/Day02/demo.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
11-22,95-115,998-1012,1188511880-1188511890,222220-222224,1698522-1698528,446443-446449,38593856-38593862,565653-565659,824824821-824824827,2121212118-2121212124
|
||||||
1
src/Year_2025/Python/Day02/input.txt
Normal file
1
src/Year_2025/Python/Day02/input.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
492410748-492568208,246-390,49-90,16-33,142410-276301,54304-107961,12792-24543,3434259704-3434457648,848156-886303,152-223,1303-1870,8400386-8519049,89742532-89811632,535853-567216,6608885-6724046,1985013826-1985207678,585591-731454,1-13,12067202-12233567,6533-10235,6259999-6321337,908315-972306,831-1296,406-824,769293-785465,3862-5652,26439-45395,95-136,747698990-747770821,984992-1022864,34-47,360832-469125,277865-333851,2281-3344,2841977-2953689,29330524-29523460
|
||||||
Reference in New Issue
Block a user