Setup
Write a function that takes a random number as input and converts it into an array with the digits of that number appearing in reverse order.
Example
convertNtA(348597)
=> [7,9,5,8,4,3]
Tests
convertNtA(6581554)
convertNtA(123456)
convertNtA(987123)
Good luck!~
This challenge comes from emporio on CodeWars. Thank you to CodeWars, who has licensed redistribution of this challenge under the 2-Clause BSD License!
Want to propose a challenge idea for a future post? Email yo+challenge@dev.to with your suggestions!
Top comments (14)
A one liner in JavaScript:
It checks if it's a positive number, then turns it into a string, separate the characters and reverse them. If the parameter is not valid, it returns null.
This will process numbers that some people may not consider valid as they contain characters different than digits (e.g.
12e10
).Also having those
&&
combined with||
like that is not pretty... don't do it :PThe result should be an array of numbers but this yields an array of strings.
Maybe consider adding
.map(Number)
after.reverse()
?JavaScript
Assuming the input should be a positive integer as in the test cases.
Using modulo and division should make it an O(n) solution, n being the number of digits in the number.
We could also have used the
toString
method from theNumber.prototype
and then use a spread operator into an array, and then use theArray.prototype.reverse
method to reverse each one of its digits, but that would have made the function run in O(n³) space I believe.C++
Python one liner
python
dude, I don't think the input to the function is a string.
Whoops, looks like someone didn't specify the base of the number :o
How naughty!
ruby
Haskell:
Elixir one-liner:
dart
Rust one liner: