## The challenge

You are given a string of space-separated numbers and have to return the highest and lowest number.

Example:

 ``````1 2 3 `````` ``````high_and_low("1 2 3 4 5") # return "5 1" high_and_low("1 2 -3 4 5") # return "5 -3" high_and_low("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.

## The solution in Python code

Option 1:

 ``````1 2 3 `````` ``````def high_and_low(numbers): nums = sorted([int(x) for x in numbers.split(" ")], reverse=True) return str(nums)+" "+str(nums[-1]) ``````

Option 2:

 ``````1 2 3 `````` ``````def high_and_low(numbers): n = map(int, numbers.split(' ')) return str(max(n)) + ' ' + str(min(n)) ``````

Option 3:

 ``````1 2 3 `````` ``````def high_and_low(numbers): nums = sorted(numbers.split(), key=int) return '{} {}'.format(nums[-1], nums) ``````

## Test cases to validate our solution

 `````` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 `````` ``````import test from solution import high_and_low @test.describe("Fixed Tests") def fixed_tests(): @test.it('Basic Test Cases') def basic_test_cases(): test.assert_equals(high_and_low("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"), "542 -214"); test.assert_equals(high_and_low("1 -1"), "1 -1"); test.assert_equals(high_and_low("1 1"), "1 1"); test.assert_equals(high_and_low("-1 -1"), "-1 -1"); test.assert_equals(high_and_low("1 -1 0"), "1 -1"); test.assert_equals(high_and_low("1 1 0"), "1 0"); test.assert_equals(high_and_low("-1 -1 0"), "0 -1"); test.assert_equals(high_and_low("42"), "42 42"); ``````