문제
→ 페어를 이용한 min (a, b) 의 합으로 만들 수 있는 가장 큰 수 구하기.
방법1 - 오름차순
→ 작은 수는 작은 수끼리 큰 수는 큰수끼리 짝을 짓는게 가장 커지는 방법이다.
→ 오름차순 정렬해놨기 때문에 앞에서부터 두자리씩 짝을지어 최솟값을 더해준다.
전체 코드
# 오름차순
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)