Python
파이썬 알고리즘 인터뷰 - 10. 배열 파티션Ⅰ
s코딩초보s
2022. 1. 15. 11:56
<--- 리트코드 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 |