문제 설명
Given a list of non-negative integers nums, arrange them such that they form the largest number.
Note: The result may be very large, so you need to return a string instead of an integer.
Example 1
Input: nums = [10,2]
Output: "210"
Example 2:
Input: nums = [3,30,34,5,9]
Output: "9534330"
Example 3:
Input: nums = [1]
Output: "1"
Example 4:
Input: nums = [10]
Output: "10"
Constraints:
- 1 <= nums.length <= 100
- 0 <= nums[i] <= 10^9
문제풀이
class Solution {
func largestNumber(_ nums: [Int]) -> String {
let numbers: [String] = nums.compactMap { String($0) }
let answer = numbers.sorted { $0 + $1 > $1 + $0 }.joined()
if answer.hasPrefix("0") { return "0" }
return answer
}
}