본문 바로가기
Beakjoon&프로그래머스/Java

[LeetCode/Java] Max Number of K-Sum Pairs

by 현장 2026. 1. 1.

-Code

class Solution {
    public int maxOperations(int[] nums, int k) {
        int answer = 0;
        // 투포인터 하기 위해 정렬
        Arrays.sort(nums);
        // 왼쪽 오른쪽 커서 셋팅
        int left = 0, right = nums.length - 1;
        // 왼쪽이 오른쪽 보다 작은 경우 반복
        while (left < right) {
            if (nums[left] + nums[right] == k) {
                // 합이 k인 경우 answer++, 왼쪽 오른쪽 중앙으로 이동
                answer++;
                left++;
                right--;
            } else if (nums[left] + nums[right] > k) {
                // k 보다 큰 경우 right--
                right--;
            } else {
                // k 보다 작은 경우 left++
                left++;
            }
        }
        return answer;
    }
}