문제

→ 페어를 이용한 min (a, b) 의 합으로 만들 수 있는 가장 큰 수 구하기.

방법1 - 오름차순

→ 작은 수는 작은 수끼리 큰 수는 큰수끼리 짝을 짓는게 가장 커지는 방법이다.

→ 오름차순 정렬해놨기 때문에 앞에서부터 두자리씩 짝을지어 최솟값을 더해준다.

Untitled

Untitled

전체 코드

# 오름차순
def arraypairsum(nums):
    nums.sort()  # [1, 2, 3, 4]
    sum = 0
    pair = []
    for n in nums:
        pair.append(n)
        if len(pair) == 2:
            sum += min(pair)
            pair = []
    return print(sum)

방법2 - 짝수번째 값

→ 사실 앞에서부터 두개씩 짝을 지으면 0부터시작해서 짝수값이 min 값이기 때문에 짝수번쨰만 더해주면 된다.

# 짝수번쨰 값
def arraypairsum_2(nums):
    sum = 0
    nums.sort()

    # enumerate 리스트에 인덱스, 값 반환
    for i, n in enumerate(nums):
        # 짝수 번재 값 합 계산
        if i % 2 == 0:
            sum += n
    print(sum)