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
   ...