179. Largest Number

Doyeon Kim·2022년 8월 16일

코딩테스트 공부

목록 보기
106/171

문제 링크 : 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로 반환한다.

profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글