[알고리즘] 배열 파티션 I

June·2021년 1월 17일
0

알고리즘

목록 보기
20/260

배열 파티션 I

내 풀이

def arrayPairSum(nums: List[int]) -> int:
    nums.sort()
    total = 0
    for i in range(0, len(nums), 2):
        total += nums[i]
    return total

min을 이용하면 어짜피 가장 작은 값만 남으니 큰 값과 작은 값을 매칭시킬 필요가 없다. 가장 가까운 두 값을 매칭시키는 것이 total을 크게한다. 따라서 정렬을 한다음 두 쌍에서 왼쪽 값이 작으니 왼쪽값을 더하면 된다.

책 풀이

def arrayPairSum(nums: List[int]) -> int:
    return sum(sorted(nums)[::2])

0개의 댓글