Editor

Largest Number from Pieces

#142 · Greedy · Advanced · 130 XP · about 22 min

You are given a list of non-negative whole numbers. Put them in any order and write their digits one after another to make a single number. Write largest_number(nums) that returns the largest number you can make, as a string.

The result never has extra leading zeros, so [0, 0] gives '0'.

Examples

largest_number([8, 81, 89, 7])  # returns '898817'
largest_number([20, 1, 9])      # returns '9201'
largest_number([121, 12])       # returns '12121'
largest_number([0, 0, 0])       # returns '0'

For [121, 12], putting 12 first gives 12121, which beats 12112.

Constraints

  • 1 <= len(nums) <= 1000
  • 0 <= nums[i] <= 10**9

Ready?

Accept the challenge to start writing. A small timer counts the time this page is in view.

Output appears here.