[LeetCode] Maximum Number of Pairs in Array

아르당·2026년 8월 30일

LeetCode

목록 보기
497/579
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

인덱스가 0부터 시작하는 정수 배열 nums가 주어진다. 한 번의 작업에 다음 과정을 수행한다.

  • nums에서 같은 정수 2개를 선택한다.
  • nums에서 쌍이 된 정수 2개를 제거한다.

nums에서 작업은 가능한 횟수만큼 수행된다.
연산을 가능한 횟수까지 수행하고 answer[0]은 만들어진 쌍의 개수, answer[1]은 nums에 남은 정수의 개수로 하는 크기가 2이고 인덱스가 0부터 시작하는 정수 배열 answer를 반환해라.

Example

#1
Input: nums = [1, 3, 2, 1, 3, 2, 2]
Output: [3, 1]

#2
Input: nums = [1, 1]
Output: [1, 0]

#3
Input: nums = [0]
Output: [0, 1]

Constraints

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100

Solved

class Solution {
    public int[] numberOfPairs(int[] nums) {
        int pairs = 0;
        int leftover = 0;
        int[] arr = new int[101];

        for(int num : nums){
            arr[num]++;
        }

        for(int num : arr){
            pairs += num / 2;
            leftover += num % 2;
        }

        return new int[]{pairs, leftover};
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글