책읽기

[파이썬 알고리즘 인터뷰][배열] 배열 파티션1

pythaac 2021. 7. 19. 04:08
이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 

출처 : https://www.onlybook.co.kr/entry/algorithm-interview

 

문제 정의

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보다 메모리를 적게 소비하지?
    • 속도도 똑같음
  • 책에서 구현한 알고리즘

  • 내가 구현한 알고리즘