코린이의 소소한 공부노트

[LeetCode/Easy] 2215. Find the Difference of Two Arrays 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2215. Find the Difference of Two Arrays

무지맘 2023. 4. 28. 12:36

1. Input

1) int[] nums1

2) int[] nums2

 

2. Output

1) 다음 조건을 만족하는 리스트를 반환

- 첫번째 요소: nums2에는 없는 nums1의 요소를 중복 없이 담은 리스트

- 두번째 요소: nums1에는 없는 nums2의 요소를 중복 없이 담은 리스트

 

3. Constraint

1) 1 <= nums1.length, nums2.length <= 1000

2) -1000 <= nums1[i], nums2[i] <= 1000

 

4. Example

Input: nums1 = [1,2,3], nums2 = [2,4,6] -> Output: [[1,3],[4,6]]

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

 

5. Code

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

class Solution {
    public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {
        List<List<Integer>> answer = new ArrayList<List<Integer>>();
        ArrayList<Integer> n = new ArrayList<>();
        for(int i: nums2)
            n.add(i);        
        List<Integer> a0 = new ArrayList<>();
        for(int i=0 ; i<nums1.length ; i++)
            if(!n.contains(nums1[i]) && !a0.contains(nums1[i]))
                a0.add(nums1[i]);
        answer.add(a0);
        n.clear();
        for(int i: nums1)
            n.add(i);
        List<Integer> a1 = new ArrayList<>();
        for(int i=0 ; i<nums2.length ; i++)
            if(!n.contains(nums2[i]) && !a1.contains(nums2[i]))
                a1.add(nums2[i]);
        answer.add(a1);
        return answer;
    }
}

- 구려.... 너무 구려.......