<--- 리트코드 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 = [1, 4, 3 ,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 = [1, 4, 3 ,2]
print(array_pair_sum(nums))
|
cs |
'Python' 카테고리의 다른 글
파이썬 알고리즘 인터뷰 - 12. 주식을 사고팔기 가장 좋은 시점 (0) | 2022.01.15 |
---|---|
파이썬 알고리즘 인터뷰 - 11. 자신을 제외한 배열의 곱 (0) | 2022.01.15 |
파이썬 알고리즘 인터뷰 - 09. 세 수의 합 (0) | 2022.01.12 |
파이썬 알고리즘 인터뷰 - 08. 빗물 트래핑 (0) | 2022.01.12 |
파이썬 알고리즘 인터뷰 - 07. 두 수의 합 (0) | 2022.01.11 |