Given a number, return the maximum value by rearranging it's digits.
Examples:
(123) => 321
(786) => 876
("001") => 100
(999) => 999
(10543) => 54310
^Note the number may be given as a string
Given a number, return the maximum value by rearranging it's digits.
Examples:
(123) => 321
(786) => 876
("001") => 100
(999) => 999
(10543) => 54310
^Note the number may be given as a string
Language: PHP
Length: 42
Solution:
$n=str_split($x);rsort($n);$y=join($n,'');
Language: JavaScript
Length: 38
Solution:
n=>[...n+''].sort((a,b)=>b-a).join('')
Language: Perl6
Length: 36
Solution:
sub a($a){$a.comb.sort.reverse.join}
Language: Perl 5
Length: 40
Solution:
sub a{join'',reverse sort split//,shift}
Language: JavaScript
Length: 39
Solution:
s=>+[...s+""].sort((a,b)=>b-a).join("")
(stringOrInt) => {
let definitelyString = stringOrInt+"";
let array = [...definitelyString];
let sorted = array.sort((a,b)=>b-a);
let string = sorted.join("");
let integerResult = +string;
return integerResult;
}
Language: Python
Length: 45
Solution
def x(y):return ''.join(sorted(str(y))[::-1])
Length: 42
def x(y):return ''.join(sorted(`y`)[::-1])
Length: 40
def x(y):return`sorted(`y`)[::-1]`[2::5]
I'm not taking credit for this as it is a direct copy of @achanda 's above attempt. Converting the function def to lambda reduces it to 36 chars.
Language: Python
Length: 36
Solution:
x=lambda y:`sorted(`y`)[::-1]`[2::5]
Language: Perl 6
Length: 33
Solution:
sub r{$^a.comb.sort.reverse.join}
Demo:
perl6 -e 'say "$_ : {a($_)}" for 123, 786, "001", 999, 10543; sub a($a){$a.comb.sort.reverse.join}'
123 : 321
786 : 876
001 : 100
999 : 999
10543 : 54310
Language: JavaScript
Length: 58
Solution: