코린이의 소소한 공부노트

[LeetCode/Easy] 2206. Divide Array Into Equal Pairs 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2206. Divide Array Into Equal Pairs

무지맘 2023. 4. 28. 01:21

1. Input

1) int[] nums

 

2. Output

1) nums의 요소를 n개의 쌍으로 나눌 수 있다면 true, 아니면 false를 반환

- 한 쌍의 요소는 같은 값이어야 한다.

- 한 쌍에 있는 요소의 수는 같아야 한다.

 

3. Constraint

1) nums.length == 2 * n

2) 1 <= n <= 500

3) 1 <= nums[i] <= 500

 

4. Example

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

설명: 6 / 2 = 3쌍으로 나누면 (2,2), (2,2), (3.3)으로 나눌 수 있다. 따라서 true를 반환한다.

 

5. Code

1) 첫 코드(2023/04/28)

class Solution {
    public boolean divideArray(int[] nums) {
        boolean answer = true;
        HashMap<Integer,Integer> map = new HashMap<>();
        for(int i: nums)
            map.put(i, map.getOrDefault(i, 0)+1);
        Iterator it = map.values().iterator();
        while(it.hasNext() && answer){
            if((int)it.next()%2!=0)
                answer = false;
        }
        return answer;
    }
}