diff options
Diffstat (limited to '2025/day02.py')
| -rwxr-xr-x | 2025/day02.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/2025/day02.py b/2025/day02.py new file mode 100755 index 0000000..552d5b9 --- /dev/null +++ b/2025/day02.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +from functools import reduce +from re import findall +from copy import deepcopy +import sys +# import numpy as np + +filename = sys.argv[1] if len(sys.argv) == 2 \ + else "in/" + sys.argv[0].split('/')[-1].rstrip(".py") + ".pzl" +data = open(filename).read() +lines = data.rstrip('\n').split('\n') + +res1 = 0 +res2 = 0 + +def check1(a): + a = str(a) + l = len(a) + if l % 2 != 0: + return False + if a[0:l//2] == a[l//2:]: + return True + return False + +def check2(a): + a = str(a) + l = len(a) + for n in range(1, l): + aa = [a[i:i+n] for i in range(0, l, n)] + if len(a) > 1 and len(set(aa)) == 1: + return True + return False + +line = lines[0] +for seq in line.split(','): + a, b = seq.split('-') + a, b = int(a), int(b) + print(b - a) + for i in range(a, b+1): + if check1(i): + res1 += i + if check2(i): + res2 += i + +print('res1:', res1) +print('res2:', res2) + |
