💡 문제
문제설명
🤔 고민사항
- 어떤 자료형을 사용해야 할지부터 고민했다.
Key - Value 페어가 굳이 필요하지 않았고, 중복을 제거하는 속성을 이용하기 위해 HashSet을 사용했다.
- 입력받는 폰켓몬의 종류(int로 표현되었다)를 HashSet에 삽입하면 중복되는 종류가 제거된다.
- HashSet의 크기는 즉, 중복이 제거되어 가질 수 있는 가장 많은 종류의 폰켓몬 숫자이다.
문제에서 N/2마리까지 가져가도 좋다고 했으니, HashSet의 크기가 N/2보다 크면 N/2만큼, 그렇지 않으면 HashSet의 크기만큼이 정답이 된다.
🧑💻 Code
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
int thres = nums.length / 2;
Set<Integer> hashset = new HashSet<Integer>();
for(int i=0; i<nums.length; i++)
hashset.add(nums[i]);
if(hashset.size() > thres)
answer = thres;
else
answer = hashset.size();
return answer;
}
}