<--- 리트코드 561. Array PartitionⅠ--->

# 문제: n개의 페어를 이용한 min(a, b)의 합으로 만들 수 있는 가장 큰 수를 출력하라.

 

입력

[1, 4, 3, 2]

출력

4

 

 

# 풀이

1. 오름차순 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def array_pair_sum(nums):
  sum = 0
  pair = []
  nums.sort()
 
  for i in nums:
    pair.append(i)
    if len(pair) == 2:
      sum += min(pair)
      pair = []
      
  return sum
 
nums = [143 ,2]
print(array_pair_sum(nums))
cs

 

2. 짝수 번째 갑 계산

1
2
3
4
5
6
7
8
9
10
11
12
def array_pair_sum(nums):
  sum = 0
  nums.sort()
 
  for i, n in enumerate(nums):
    if i % 2 == 0:
      sum += n
  
  return sum
 
nums = [143 ,2]
print(array_pair_sum(nums))
cs