코린이의 소소한 공부노트

[LeetCode/Easy] 2341. Maximum Number of Pairs in Array 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2341. Maximum Number of Pairs in Array

무지맘 2023. 1. 16. 01:50

1. Input

1) int[] nums

 

2. Output

1) nums에 아래 연산을 최대한 많이 수행한 후, 없앤 쌍의 개수와 nums에 남은 숫자의 개수를 차례대로 담은 배열 answer를 반환

// 연산 방법

- nums에서 같은 숫자 2개를 고른다.

- 두 숫자 모두 num에서 없애고, 없앤 숫자는 쌍을 이룬다.

 

3. Constraint

1) 1 <= nums.length <= 100

2) 0 <= nums[i] <= 100

 

4. Example

Input: nums = [1,3,2,1,3,2,2] -> Output: [3,1]

설명:

- nums[0] == nums[3] == 1: nums=[3,2,3,2,2], answer=[1,_]

- nums[0] == nums[2] == 3: nums=[2,2,2], answer=[2,_]

- nums[0] == nums[1] == 2: nums=[2], answer=[3,_]

- 더이상 없앨 숫자가 없으므로 nums에 남은 숫자는 1개이므로 [3,1]을 반환한다.

 

5. Code

1) 첫 코드(2022/08/04)

int pair = 0;
for(int i=0 ; i<nums.length-1 ; i++){
    for(int j=i+1 ; j<nums.length ; j++){
        if(nums[i]!=-1 && nums[i]==nums[j]){
            nums[i] = -1;
            nums[j] = -1;
            pair++;
            break;
        }
    }
}
return new int[] {pair, nums.length - 2*pair};