https://programmers.co.kr/learn/courses/30/lessons/1845
너무 어렵게 생각해서 어렵게 풀려고 했는데 알고보니 굉장히 쉬웠다.
public int solution(int[] nums) {
// 주어진 nums를 HashSet에 담아준다.(자동적으로 중복 제거)
HashSet<Integer> set = new HashSet<>();
for (int x : nums) {
set.add(x);
}
// HashSet이 N/2보다 크다면 최대값은 N/2가 된다.
if (set.size() > nums.length / 2) {
answer = nums.length / 2;
} else {
// 그게 아니라면 폰켓몬의 종류는 N/2보다 작다는 얘기이므로 HashSet가 정답이 된다.
answer = set.size();
}
return answer;
}