JSFiddle - React, Tailwind, and code Playground
by schmidjon
JavaScript
const wordsToNumbers =
string => [
"zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine", "ten",
"eleven", "twelve", "thirteen", "fourteen", "fifteen",
"sixteen", "seventeen", "eighteen", "nineteen"
].reduce(
(accumulator, currentValue) =>
accumulator.replace
, string
);
const solvePuzzle =
input => input
.split("\n")
.reduce(
(accumulator, currentValue) =>
parseInt(accumulator) + parseInt(
currentValue.match(/^[a-z]*([0-9])/)[1]
+ currentValue.match(/([0-9])[a-z]*$/)[1]
)
, 0
...