[Python] Array Partition I - 561LeetCode

찐새·2022년 7월 2일
0

코딩테스트

목록 보기
18/53
post-thumbnail

561. Array Partition I

풀이

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]을 반환한다.

profile
프론트엔드 개발자가 되고 싶다

0개의 댓글