Now please publish it as a Node.js module and in 3 weeks, it will be in Top 10 most used modules, being used in 90% of Fortune 500 corporations.
But… does it pass all the tests?
If it does, they don’t have enough of the right tests.
Elaborate
What would the output be for the following:
99 Beers on the Wall!
Or for “CAFÉ”?
This will not work on Unicode
Greek and Arabic have cases as well
This will not work on Unicode
Correct.
Greek and Arabic have cases as well
Who told you that?
Brain fart, I meant Cyrillic but I wrote the wrong word! Good catch thanks!
I hope this is O(n!)
This looks like
O(n)
, because you don’t include constants when calculating Big-O. It’s still ~26 times slower than the implementation without the inner loop.This looks likeO(n^2)
because of thesub
.I was right the first time.
sub
is “substring” and not “substitute”.
here’s a more nuanced question: in school iirc my teacher was implementing terminal 2-human tic-tac-toe with us and used an only slightly less egregious 7-by-3 AND/OR gate to see whether any player had won. because I didn’t like all the repetition, my version iterated through a 7-by-3 list of lists of indecies instead. every toy programming problem I’ve seen since was so general that it didn’t go well with this kind of hardcoding either
When creating an example for beginning programmers, sometimes using a very inefficient data structure is more illustrative and a helpful educational tool.
Honestly as long as literals are properly converted, I don’t see any other way to do this in an entirely encoding agnostic way