728x90
▼ 문제 바로가기 (링크) ▼
https://leetcode.com/problems/maximum-product-difference-between-two-pairs/
주어진 리스트 nums에서 최대값 쌍과 최소값 쌍을 고르고
(a * b) - (c * d) 로 연산한 값을 반환하는 문제 (각 쌍을 서로 곱한 후 빼기)
class Solution:
def maxProductDifference(self, nums: List[int]) -> int:
nums.sort()
answer = (nums[-1] *nums[-2]) - (nums[0] * nums[1])
return answer
먼저 오름차순 정렬.
sorted는 원본 배열을 바꾸지 않고 반환하는데,
이 문제에서는 원본이 바뀌어도 되므로 변수에 재할당 할 필요 없는 sort() 를 사용했다.
그 후 뒤에서 0, 1번째 인덱스( == -1, -2)
앞에서 0, 1번째 인덱스를 묶어 주어진 식에 대입했다.
더보기
뒤에서부터 인덱스 슬라이싱
https://emilkwak.github.io/python-list-indexing-slicing-using-minus-integer
sort와 sorted의 차이
https://codinglevelup.tistory.com/85
728x90
반응형
'코딩 테스트 > leetCode' 카테고리의 다른 글
[leetCode] 2176. Count Equal and Divisible Pairs in an Array (Python) (0) | 2022.11.02 |
---|---|
[leetCode] 2315. Count Asterisks (Python) (2) | 2022.11.01 |
[leetCode] 557. Reverse Words in a String III (Python) (0) | 2022.10.30 |
[leetCode] 1773. Count Items Matching a Rule (Python) (0) | 2022.10.29 |
[leetCode] 1528. Shuffle String (Python) (0) | 2022.10.29 |