
from functools import cmp_to_key
class Solution:
def largestNumber(self, nums: List[int]) -> str:
def compare(a, b):
return -1 if a + b > b + a else 1 if a + b < b + a else 0
nums = list(map(str, nums))
nums = sorted(nums, key=cmp_to_key(compare))
ans = ''.join(nums)
return '0' if ans[0] == '0' else ans
cmp_to_key : 비교 함수(comparison function)를 키 함수(key function)로 변환하는 데 사용
def compare() : 모든 경우의 수에 대해 left, right 비교
0 or 1 -> stay
-1 -> left, right swap
ans = '000 ~' 인 경우 -> ans[0]의 위치에는 가장 큰 값이 들어감 -> ans[0]가 0인 경우 결과적으로 '0'이 도출되어야 함