From 83b170f6b9478e81ceacefd9044915db38f58f60 Mon Sep 17 00:00:00 2001 From: JonOfUs Date: Tue, 5 Dec 2023 19:12:27 +0100 Subject: [PATCH] d01 with python --- python/day01.py | 22 ++++++++++++++++++++++ src/days/d05.rs | 6 +++--- 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 python/day01.py diff --git a/python/day01.py b/python/day01.py new file mode 100644 index 0000000..f6721ae --- /dev/null +++ b/python/day01.py @@ -0,0 +1,22 @@ +import re + +path = 'res/01/input' + +nums = ['zero','one','two','three','four','five','six','seven','eight','nine'] +pattern_str = r'one|two|three|four|five|six|seven|eight|nine' +result1 = result2 = 0 + +with open(path, 'r') as file: + for line in file: + numbers = [c for c in line if c.isdigit()] + result1 += int(numbers[0] + numbers[-1]) + + first = re.search(r'\d|' + pattern_str, line).group() + second = re.search(r'\d|' + pattern_str[::-1], line[::-1]).group()[::-1] + num = first + ' ' + second + for i,n in enumerate(nums): + num = num.replace(n,str(i)) + result2 += int(num.replace(" ", ""), 10) + +print(result1) +print(result2) \ No newline at end of file diff --git a/src/days/d05.rs b/src/days/d05.rs index d8e96d5..ec1070a 100644 --- a/src/days/d05.rs +++ b/src/days/d05.rs @@ -118,9 +118,9 @@ fn parse_maps(seeds_arc: &Arc>>, seeds_len: usize, contents: &V let mut seeds = seeds_arc.lock().unwrap(); if seeds[i] >= range_start && seeds[i] <= range_end { seeds[i] = ranges[j][0] + (seeds[i] - range_start); - break; + break } } - }); - }); + }) + }) }