Added day1 part1 and part2
This commit is contained in:
parent
ae87d008b1
commit
b5bcd40fe2
1000
2023/day1/part1/input
Normal file
1000
2023/day1/part1/input
Normal file
File diff suppressed because it is too large
Load Diff
14
2023/day1/part1/part1.py
Normal file
14
2023/day1/part1/part1.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
input_f = sys.argv[1]
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
with open(input_f) as file:
|
||||||
|
for line in file:
|
||||||
|
x=re.findall('\d{1}',line.rstrip())
|
||||||
|
count = count + int(x[0] + x[len(x)-1])
|
||||||
|
|
||||||
|
print(count)
|
4
2023/day1/part1/test
Normal file
4
2023/day1/part1/test
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
1abc2
|
||||||
|
pqr3stu8vwx
|
||||||
|
a1b2c3d4e5f
|
||||||
|
treb7uchet
|
1000
2023/day1/part2/input
Normal file
1000
2023/day1/part2/input
Normal file
File diff suppressed because it is too large
Load Diff
41
2023/day1/part2/part2.py
Normal file
41
2023/day1/part2/part2.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
input_f = sys.argv[1]
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
#list of values that can be found
|
||||||
|
lst = ['one','two','three','four','five','six','seven','eight','nine','1','2','3','4','5','6','7','8','9','0']
|
||||||
|
|
||||||
|
#list to match numbers with
|
||||||
|
num = ['zero','one','two','three','four','five','six','seven','eight','nine']
|
||||||
|
|
||||||
|
#open file
|
||||||
|
with open(input_f) as file:
|
||||||
|
for line in file:
|
||||||
|
tmp = line.rstrip() #read the line
|
||||||
|
z = []
|
||||||
|
|
||||||
|
#find all matches from lst in the line
|
||||||
|
for i in lst:
|
||||||
|
for m in re.finditer(i,tmp):
|
||||||
|
#make a 2d array
|
||||||
|
z.append([m.start(),m.group(0)])
|
||||||
|
#sort the 2d array with first column as key
|
||||||
|
y=sorted(z,key=lambda z: z[0])
|
||||||
|
|
||||||
|
d1 = y[0][1]
|
||||||
|
try:
|
||||||
|
d1 = num.index(d1)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
d2 = y[len(y)-1][1]
|
||||||
|
try:
|
||||||
|
d2 = num.index(d2)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
count = count + int(str(d1) + str(d2))
|
||||||
|
print(count)
|
7
2023/day1/part2/test
Normal file
7
2023/day1/part2/test
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
two1nine
|
||||||
|
eightwothree
|
||||||
|
abcone2threexyz
|
||||||
|
xtwone3four
|
||||||
|
4nineeightseven2
|
||||||
|
zoneight234
|
||||||
|
7pqrstsixteen
|
Loading…
Reference in New Issue
Block a user