https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=java
문제요약
N마리 포켓몬 중 N/2 마리 고르기
이때 서로 다른 종류의 포켓몬을 골라야 함.
생각
1. 서로 다른 종류를 골라야 하니, 포켓몬 종류 배열 -> HashSet으로 만들어 중복 x
2. 이때, 고르려는 마리수(n/2) <= set의 길이: 고르려는 마리수 return. 그렇지 않으면 set의 길이 반환.
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
// 1. 중복 제거한 포켓몬 종류 set 만들기
HashSet<Integer> set = new HashSet<>();
for(int num: nums){
set.add(num);
}
// 2. 고르려는 마리수
int select = nums.length/2;
// 3. 최대 고르는 마릿수 return
if(select <= set.size())
return select;
else
return set.size();
}
}