https://programmers.co.kr/learn/courses/30/lessons/1845
int 배열을 어떻게 하면 중복을 제거해서 정렬할 수 있을까? 를 고민했다.
문제에서 최대 종류라고 했기 때문에 같은 종류는 안뽑고, 다른 종류만 뽑는 경우의 수를 생각해내는게(중복을 제거해서) 이 문제의 핵심이라고 생각한다.
set 의 길이를 알고싶으면, set.size() 하면 된다..
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
Set<Integer> set = new HashSet<Integer>();
for(int i : nums)
set.add(i);
answer = Math.min(nums.length/2 , set.size());
return answer;
}
}