코린이의 소소한 공부노트

[LeetCode/Easy] 2670. Find the Distinct Difference Array 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2670. Find the Distinct Difference Array

무지맘 2023. 5. 8. 20:20

1. Input

1) int[] nums

 

2. Output

1) nums[0....i]까지의 요소 중 중복을 제거한 요소의 개수와 nums[i+1...n-1]까지의 요소 중 중복을 제거한 요소의 개수의 차를 담은 배열을 반환

 

3. Constraint

1) 1 <= n == nums.length <= 50

2) 1 <= nums[i] <= 50

 

4. Example

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

설명:

- i=0: 0번째까지 - 1번째부터 = 1 - 4 = -3

- i=1: 1번째까지 - 2번째부터 = 2 - 3 = -1

- i=2: 2번째까지 - 3번째부터 = 3 - 2 = 1

- i=3: 3번째까지 - 4번째부터 = 4 - 1 = 3

- i=4: 4번째까지 - 5번째부터 = 5 - 0 = 5

 

5. Code

1) 첫 코드(2023/05/08)

class Solution {
    public int[] distinctDifferenceArray(int[] nums) {
        int[] answer = new int[nums.length];
        for(int i=0 ; i<nums.length ; i++){
            HashSet<Integer> s1 = new HashSet<>();
            for(int j=0 ; j<=i ; j++)
                s1.add(nums[j]);
            HashSet<Integer> s2 = new HashSet<>();
            for(int j=i+1 ; j<nums.length ; j++)
                s2.add(nums[j]);
                answer[i] = s1.size()-s2.size();
        }
        return answer;
    }
}