--- id: 5a23c84252665b21eecc7edb title: Largest int from concatenated ints challengeType: 5 --- ## Description
Given a set of positive integers, write a function to order the integers in such a way that the concatenation of the numbers forms the largest possible integer and return this integer.
## Instructions
## Tests
``` yml tests: - text: maxCombine should be a function. testString: assert(typeof maxCombine == 'function', 'maxCombine should be a function.'); - text: maxCombine([1, 3, 3, 4, 55]) should return a number. testString: assert(typeof maxCombine([1, 3, 3, 4, 55]) == 'number', 'maxCombine([1, 3, 3, 4, 55]) should return a number.'); - text: maxCombine([1, 3, 3, 4, 55]) should return 554331. testString: assert.equal(maxCombine([1, 3, 3, 4, 55]), 554331, 'maxCombine([1, 3, 3, 4, 55]) should return 554331.'); - text: maxCombine([71, 45, 23, 4, 5]) should return 71545423. testString: assert.equal(maxCombine([71, 45, 23, 4, 5]), 71545423, 'maxCombine([71, 45, 23, 4, 5]) should return 71545423.'); - text: maxCombine([14, 43, 53, 114, 55]) should return 55534314114. testString: assert.equal(maxCombine([14, 43, 53, 114, 55]), 55534314114, 'maxCombine([14, 43, 53, 114, 55]) should return 55534314114.'); - text: maxCombine([1, 34, 3, 98, 9, 76, 45, 4]) should return 998764543431. testString: assert.equal(maxCombine([1, 34, 3, 98, 9, 76, 45, 4]), 998764543431, 'maxCombine([1, 34, 3, 98, 9, 76, 45, 4]) should return 998764543431.'); - text: maxCombine([54, 546, 548, 60]) should return 6054854654. testString: assert.equal(maxCombine([54, 546, 548, 60]), 6054854654, 'maxCombine([54, 546, 548, 60]) should return 6054854654.'); ```
## Challenge Seed
```js function maxCombine(xs) { // Good luck! } ```
## Solution
```js function maxCombine (xs) { return parseInt( xs.sort( function (x, y) { var a = x.toString(), b = y.toString(), ab = parseInt(a + b), ba = parseInt(b + a); return ab > ba ? -1 : (ab < ba ? 1 : 0); } ) .join(''), 10 ); } ```