leetcode 561
-
561. Array Partition IProgramming/leetcode 2021. 2. 2. 10:54
주어진 배열에서 최소값들끼리 구해서 최대값을 만드는 문제 쉬움 난이도 문제이고, 문제만 보면 바로 이해가능함 Input: nums = [1,4,3,2] Output: 4 두 개씩 나올 수 있는 조합을 생각해보면 (1,4),(3,2) => 1+2 = 3 (1,3),(4,2) => 1+2 = 3 (1,2),(3,4) => 1+3 = 4 즉 정렬을 한 뒤에 답을 구하면 제일 큰 수를 알 수 있다. def arrayPairSum(self, nums: List[int]) -> int: nums.sort() sum = 0 for i in range(0, len(nums), 2): sum += min(nums[i], nums[i+1]) return sum 좀 더 빠르게 푸는 방법은 없을까? 책을 보니 거의 다 이렇게..