문제 링크 : https://leetcode.com/problems/largest-number/
주어진 nums를 조합혀여 가장 큰 수를 만드는 문제이다
class Solution:
def largestNumber(self, nums: List[int]) -> str:
for i, n in enumerate(nums):
nums[i] = str(n)
def compare(n1, n2):
if n1 + n2> n2+n1:
return -1
else:
return 1
nums = sorted(nums, key=cmp_to_key(compare))
return str(int("".join(nums)))
for i, n in enumerate(nums):
nums[i] = str(n)
우선 각 목록 값을 문자열로 변환하고..
각 목록들의 값을 비교하며 정렬해주고
ex. 5 + 30 => 530 > 30 + 5 => 350
마지막으로 값들을 join한다
이때 0,0,0.. 과 같은 경우
우리가 반환해야 할 값은 000이 아닌 0이므로
int값을 다시 str로 반환한다.