코린이의 소소한 공부노트

[LeetCode/Easy] 2465. Number of Distinct Averages 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2465. Number of Distinct Averages

무지맘 2023. 5. 4. 17:18

1. Input

1) int[] nums

 

2. Output

1) 다음에 따라 구한 평균의 총 개수를 반환

- nums에서 가장 큰 값과 가장 작은 값의 평균을 구한다.

- 그 후 두 수는 nums에서 제거한다.

- 평균의 개수를 구할 때 중복은 세지 않는다.

 

3. Constraint

1) 2 <= nums.length <= 100

2) nums의 길이는 짝수이다.

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

 

4. Example

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

- 05의 평균 = 2.5, nums=[4,1,4,3]

- 14의 평균 = 2.5, nums=[4,3]

- 34의 평균 = 3.5, nums=[]

- 중복되지 않은 평균은 2.53.5 2개다.

 

5. Code

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

class Solution {
    public int distinctAverages(int[] nums) {
        int n = nums.length;
        Arrays.sort(nums);
        HashSet<Float> set = new HashSet<>();
        for(int i=0 ; i<n/2 ; i++)
            set.add((nums[i]+nums[n-1-i])/2.0f);
        return set.size();
    }
}