Day 1
parent
466c076d44
commit
f8d8d1d559
@ -0,0 +1,4 @@
|
||||
1abc2
|
||||
pqr3stu8vwx
|
||||
a1b2c3d4e5f
|
||||
treb7uchet
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
two1nine
|
||||
eightwothree
|
||||
abcone2threexyz
|
||||
xtwone3four
|
||||
4nineeightseven2
|
||||
zoneight234
|
||||
7pqrstsixteen
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,19 @@
|
||||
def process_line(line):
|
||||
f = None
|
||||
for char in line:
|
||||
if char in "0123456789":
|
||||
if not f:
|
||||
f = char
|
||||
l = char
|
||||
return int("".join([f, l]))
|
||||
|
||||
|
||||
with open("day01/data/input100.txt") as infile:
|
||||
result = sum(map(process_line, infile))
|
||||
print(result)
|
||||
print(result == 142)
|
||||
|
||||
with open("day01/data/input101.txt") as infile:
|
||||
result = sum(map(process_line, infile))
|
||||
print(result)
|
||||
print(result == 54968)
|
@ -0,0 +1,49 @@
|
||||
import re
|
||||
|
||||
NUMBERS = re.compile(r"([0-9]|zero|one|two|three|four|five|six|seven|eight|nine)")
|
||||
NUMBERS_MAP = dict(
|
||||
zip(
|
||||
list(map(str, range(0, 10)))
|
||||
+ [
|
||||
"zero",
|
||||
"one",
|
||||
"two",
|
||||
"three",
|
||||
"four",
|
||||
"five",
|
||||
"six",
|
||||
"seven",
|
||||
"eight",
|
||||
"nine",
|
||||
],
|
||||
list(range(0, 10)) + list(range(0, 10)),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def process_line(line):
|
||||
first = None
|
||||
|
||||
match = re.search(NUMBERS, line)
|
||||
|
||||
while match:
|
||||
line = line[(match.start() + 1) :]
|
||||
|
||||
if not first:
|
||||
first = NUMBERS_MAP[match.group(1)]
|
||||
last = NUMBERS_MAP[match.group(1)]
|
||||
|
||||
match = re.search(NUMBERS, line)
|
||||
|
||||
return 10 * first + last
|
||||
|
||||
|
||||
with open("day01/data/input200.txt") as infile:
|
||||
result = sum(map(process_line, infile))
|
||||
print(result)
|
||||
print(result == 281)
|
||||
|
||||
with open("day01/data/input201.txt") as infile:
|
||||
result = sum(map(process_line, infile))
|
||||
print(result)
|
||||
print(result == 54094)
|
Loading…
Reference in New Issue