코딩테스트 풀이/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
- 0과 5의 평균 = 2.5, nums=[4,1,4,3]
- 1과 4의 평균 = 2.5, nums=[4,3]
- 3과 4의 평균 = 3.5, nums=[]
- 중복되지 않은 평균은 2.5와 3.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();
}
}