If you missed the introductory post, it's here. For a list of previously solved katas, please refer to the bottom of this page.
If this is your first time seeing my post, please note - these katas are probably randomly assigned per user so please don't go into Codewars thinking we will have exactly the same user experience, I am just posting these in the order that I got them.
Kata #38
DESCRIPTION:
In this little assignment you are given a string of space separated numbers, and have to return the highest and lowest number.
Examples
highAndLow("1 2 3 4 5"); // return "5 1"
highAndLow("1 2 -3 4 5"); // return "5 -3"
highAndLow("1 9 3 4 -5"); // return "9 -5"
Notes
- All numbers are valid
Int32, no need to validate them. - There will always be at least one number in the input string.
- Output string must be two numbers separated by a single space, and highest number is first.
Starting code:
function highAndLow(numbers){
// ...
}
My attempt:
function highAndLow(numbers){
let sortedReversed = numbers.split(' ').sort((a,b)=>a-b).reverse()
return `${sortedReversed[0]} ${sortedReversed[numbers.split(' ').length-1]}`
}
Rank #1 in 'Best Practice' which used the .apply() method which I encountered for the first time today:
function highAndLow(numbers){
numbers = numbers.split(' ').map(Number);
return Math.max.apply(0, numbers) + ' ' + Math.min.apply(0, numbers);
}
Rank #2:
function highAndLow(numbers){
numbers = numbers.split(' ');
return `${Math.max(...numbers)} ${Math.min(...numbers)}`;
}
Rank #3:
function highAndLow(numbers) {
var arr = numbers.split(" ");
return Math.max.apply(null, arr) + ' ' + Math.min.apply(null, arr);
}
Rank #4:
function highAndLow(numbers){
let arr = numbers.split(' ').map(Number);
return Math.max(...arr) + ' ' + Math.min(...arr);
}
That's it for Kata #38, stay tuned for more katas to be solved!
Link to Kata #1: Square(n) Sum
Link to Kata #2: Convert a Number to a String
Link to Kata #3: DNA to RNA Conversion
Link to Kata #4: Remove First and Last Character
Link to Kata #5: MakeUpperCase
Link to Kata #6: Total amount of points
Link to Kata #7: A Needle in the Haystack
Link to Kata #8: Sum of positive
Link to Kata #9: Basic Mathematical Operations
Link to Kata #10: Beginner - Reduce but Grow
Link to Kata #11: Square Every Digit
Link to Kata #12: Friend or Foe?
Link to Kata #13: Grasshopper - Summation
Link to Kata #14: Get the Middle Character
Link to Kata #15: Descending Order
Link to Kata #16: String ends with?
Link to Kata #17: Sum of two lowest positive integers
Link to Kata #18: Sum of odd numbers
Link to Kata #19: Find the next perfect square!
Link to Kata #20: Reversed Strings
Link to Kata #21: Jaden Casing Strings
Link to Kata #23: Returning Strings
Link to Kata #24: Opposite number
Link to Kata #25: Are You Playing Banjo?
Link to Kata #26: Beginner Series #1 School Paperwork
Link to Kata #27: Remove String Spaces
Link to Kata #28: Invert values
Link to Kata #30: Beginner Series #2 Clock
Link to Kata #31: Is this a triangle?
Link to Kata #32: Sum of the first nth term of Series
Link to Kata #33: Find the smallest integer in the array
Link to Kata #34: Simple multiplication
Link to Kata #35: How good are you really?