문제가 엄청 길어서 이게 레벨 1이라고?하며 당황했지만 문제가 어렵지는 않았다.
꼼꼼하게 읽어보면 충분히 이해가는 문제였다.
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] nums) {
// 0. 골라야하는 수 = chooseSize
int chooseSize = nums.length / 2;
// 1. 배열의 중복 제거 int[] -> HashSet
Set<Integer> numbers = Arrays.stream(nums).boxed().collect(Collectors.toSet());
// 1-1. 중복을 제거했을 때의 종류 = type
int type = numbers.size();
// 2. 중복을 제거한 수 > 골라야하는 수 -> return chooseSize;
if(type > chooseSize){
return chooseSize;
}
else{
return type;
}
}
}
int[]
를 Set<Integer>
로만 바꿀 수 있다면 풀 수 있는 문제인 것 같다.