Days 1 and 2

This commit is contained in:
Simon Junod
2025-12-01 08:19:52 +01:00
commit 8cfa72a7e9
5 changed files with 62 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
input

13
1/a.py Normal file
View File

@@ -0,0 +1,13 @@
with open("input", "r") as f:
lines = f.read().splitlines()
p = 50
for line in lines:
d = line[0]
n = int(line[1:])
if d == "L":
n *= -1
p += n
p %= 100
print(p)

16
1/b.py Normal file
View File

@@ -0,0 +1,16 @@
with open("input", "r") as f:
lines = f.read().splitlines()
p = 50
for line in lines:
d = line[0]
n = int(line[1:])
for i in range(n):
if d == "R":
p += 1
else:
p -= 1
p %= 100
print(p)

16
2/a.py Normal file
View File

@@ -0,0 +1,16 @@
import re
with open("input", "r") as f:
line = f.read()
ranges = line.split(",")
s = 0
for _range in ranges:
start, end = list(map(int, _range.split("-")))
for i in range(start, end+1):
if re.match(r"^(.+)\1$", str(i)):
s += i
print(s)

16
2/b.py Normal file
View File

@@ -0,0 +1,16 @@
import re
with open("input", "r") as f:
line = f.read()
ranges = line.split(",")
s = 0
for _range in ranges:
start, end = list(map(int, _range.split("-")))
for i in range(start, end+1):
if re.match(r"^(.+)\1+$", str(i)):
s += i
print(s)