[Programmers]-폰켓몬
문제
숫자라는 종류 폰켓몬이 있다. 총 폰켓몬 수의 절반을 가져간다. 최대로 가져갈 수 있는 폰켓몬 종류 수를 반환하면 된다.
코드
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
int get = nums.length/2;
Set<Integer> set = new HashSet<Integer>();
for(int i=0;i<nums.length;i++){
set.add(nums[i]);
}
return set.size() > get ? get : set.size();
}
}
코드 설명
get은 가져갈수있는 폰켓몬 수이다. 해쉬셋을 이용해 저장순서는 보장되지 않지만 중복저장을 피할 수 있다. 배열값들을 해쉬셋에 저장하면 종류가 다른 폰켓몬 수를 알수있다. 해쉬셋의 크기와 get을 비교하여 작은 쪽을 반환하면된다.
요약
- set으로 문제풀기