Can I have your number?
Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number.
The returned format must be correct in order to complete this challenge.
Don't forget the space after the closing parentheses!
Today's challenge comes from user xDranik on Codewars
Thank you to CodeWars, who has licensed redistribution of this challenge under the 2-Clause BSD License!
Want to propose a challenge for a future post? Email yo+challenge@dev.to with your suggestions!
Latest comments (26)
Go:
Here is the simple solution with PHP:
Python
anyone's skin crawling?
Ruby
Better late than never ;p
Here's my attempt in PHP
codesandbox.io/embed/daily-challen...
Haskell (US formatting):
Clojure:
Erlang: (in the REPL)
Or you can use io_lib:format and assign the result to a variable instead.
Checking for valid input is fairly trivial, but the Erlang convention is to assume that something this far into the system is okay, and correct for the error by dying and letting the supervisor deal with it.
Ruby solution
No PHP solutions yet? Here I come!
But please edit the OP to explain what format do you want, not everybody comes from USA!
EDIT: added length validation
My Rust Solution and test cases!
I felt this one was a little easier than some of the previous days, but nothing wrong with that!
The special variable
$"
is used to separate arrays interpolated in double quotes. By default, it contains a space, but we need the numbers to be adjacent, so we set it locally (i.e. in a dynamic scope) to an empty string.Another possible short solution is
The substitution replaces each digit in the template string with the corresponding element of the
@_
array which keeps the list of the subroutine arguments./g
means "global", it's needed to replace all the digits, not just the first one. The/r
means "return" - normally, a substitution changes the bound left-hand side value, but with/r
, it just returns the value.Nice, basically what I got.
sprintf
works as well.The regex solution was pretty interesting. Thanks for the explanation!
I am not a big fan of code challenges in this format. For one people can see other answers. That can skew your thinking before even attempting the challenge. Secondly I think you should submit your own answers on codewars, and then link it here. Only people that has passed the challenge would be able to see it.
@ben definitely need a spoiler tag.