'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Array Partition I - LeetCode>
1. 문제 (배열 파티션 I)
2n개의 수를 가진 배열을 n개의 페어를 이용한 min(a,b)의 합으로 만들 수 있는 가장 큰 수를 출력하라.
2. 풀이
슬라이싱
을 이용한 풀이
- 배열을 정렬한다.
- 정렬된 배열에서 짝수번째 항목을 더한다.
- 배열이 [1,4,3,2] 일 때, (1, 2), (3, 4) -> min(1, 2) + min(3, 4) = 1 + 3 = 4 이다.
- 슬라이싱 구문 [::2] 는 2칸씩 건너뛰므로 짝수번째 항목만 추출한다.
3. 코드
- 슬라이싱을 이용한 풀이
class Solution:
def arrayPairSum(self, nums: List[int]) -> int:
return sum(sorted(nums)[::2])
- 결과 :
방식 | Status | Runtime | Memory | Language |
---|---|---|---|---|
슬라이싱 | [Accepted] | 256 ms | 16.8 MB | python3 |
References
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 819. Most Common Word [Python(파이썬)] (0) | 2021.11.23 |
---|---|
[LeetCode] 238. Product of Array Except Self [Python(파이썬)] (0) | 2021.11.23 |
[LeetCode] 121. Best Time to Buy and Sell Stock [Python(파이썬)] (0) | 2021.11.23 |
댓글