def arrayPairSum(nums):
nums.sort()
answer = 0
for i in range(len(nums) // 2):
answer += min(nums[2 * i], nums[2 * i + 1])
return answer
오름차순으로 정렬 후 요소를 2개씩 비교해 작은 값을 더했다. 같은 방법을 파이썬 식으로 풀면 1줄 요약이 가능하다.
def arrayPairSum(nums):
return sum(sorted((nums))[::2])
정렬한 값의 짝수 인덱스만 더하면 된다. [::2]
는 인덱스를 2씩 건너뛰는 슬라이싱이다. 리스트가 [1, 2, 3, 4]
라면 [1, 3]
을 반환한다.