N마리 폰켓몬의 종류 번호가 담긴 배열 nums가 매개변수로 주어질 때, N/2마리의 폰켓몬을 선택하는 방법 중, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아, 그때의 폰켓몬 종류 번호의 개수를 return 하도록 함수를 완성하는 문제.
#1: 가장 많은 종류의 폰켓몬을 선택해야 하기 때문에 종류를 중복해서 선택하는 경우의 수는 없음. 따라서 set 자료형을 이용해서 중복을 제거 후 다시 list 자료형로 변환.
#2: 보통 경우, 이미 중복이 제거 되어서 remove_overlap_nums list에 있는 모든 폰켓몬을 데려가면 되니까 정답은 해당 list의 길이가 됨.
#3: 그런데 문제 조건을 보면 골라야 하는 폰켓몬의 숫자는 최대 N/2마리가 되어야 하는데 #2번 로직대로면 해당 경우 보다 정답이 클 수도 있어 조건문으로 이 경우를 예외처리 해주는 로직이 필요.
(보충 설명: 만약 nums = [3, 1, 2, 3]일 경우, #1 및 #2 로직을 다 수행했을 때 answer는 3. 그러나 N == 4 (nums list의 길이) 이기 때문에 최대 가질 수 있는 폰캣몬은 4/2마리 즉 2마리)
#4: 그렇다면 결국 N/2마리만 골라가면 되기 때문에 정답은 N/2를 한 결과가 됨