이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다.
문제 정의
n개의 페어를 이용한 min(a, b)의 합으로 만들 수 있는 가장 큰 수를 출력
책에서 구현된 코드
def arrayPairSum(self, nums: list[int]) -> int:
return sum(sorted(nums)[::2])
내가 구현한 코드
def array_part_one(nums: list[int]) -> int:
nums.sort()
return sum(nums[::2])
- 리트코드 제출시 두 코드가 메모리에서 차이
- 0.1 MB 차이로 90%와 34%라는 큰 차이를 보임
- 그런데 왜 새로운 객체를 생성하는 sorted가 in-place sort보다 메모리를 적게 소비하지?
- 속도도 똑같음
- 책에서 구현한 알고리즘
- 내가 구현한 알고리즘
'책읽기' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰][배열] 주식을 사고팔기 가장 좋은 시점 (0) | 2021.07.19 |
---|---|
[파이썬 알고리즘 인터뷰][배열] 자신을 제외한 배열의 곱 (0) | 2021.07.19 |
[파이썬 알고리즘 인터뷰][배열] 세 수의 합 (중요) (0) | 2021.07.19 |
[파이썬 알고리즘 인터뷰][배열] 빗물 트래핑 (중요) (0) | 2021.07.19 |
[파이썬 알고리즘 인터뷰][배열] 두 수의 합 (0) | 2021.07.18 |