Leetcode 1679 - python

Jang Dong Ik·2024년 9월 15일

문제 링크


https://leetcode.com/problems/max-number-of-k-sum-pairs/

문제 설명


  • 정수 배열인 nums 에서 두개의 숫자를 뽑아 더한 값k를 만족시키는 경우의 수를 구하는 문제입니다.

문제 접근


  • 저는 두개의 숫자를 뽑는 부분에서 투포인터로 풀면 되겠다!!! 생각했습니다.
  • 그러나 nums는 정렬이 되어있지 않아서 우선 정렬 작업을 해야했습니다.

전체 코드


class Solution:
    def maxOperations(self, nums: List[int], k: int) -> int:
        
        if len(nums) == 1:
            return 0
        
        nums = sorted(nums)
        l, r = 0, len(nums) - 1
        res = 0
        
        while l < r:
            if nums[l] + nums[r] == k:
                res += 1
                l += 1
                r -= 1
            elif nums[l] + nums[r] > k:
                r -= 1
            elif nums[l] + nums[r] < k:
                l += 1
        
        return res

0개의 댓글