문제
https://school.programmers.co.kr/learn/courses/30/lessons/1845
접근 방법 및 풀이
사용 언어: Java
가장 많은 종류의 폰켓몬을 골랐을 때 그 폰켓몬의 종류의 수를 반환
폰켓몬의 종류는 중복이 존재
고를 수 있는 수보다 폰켓몬의 종류가 적은 경우에는 폰켓몬의 종류의 수가 폰켓몬을 고를 수 있는 종류의 한계
폰켓몬의 종류를 Set을 이용하여 중복을 제거
import java.util.HashSet;
import java.util.Set;
public class Q30_1845 {
public int solution(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int num : nums) {
set.add(num);
}
int size = nums.length / 2;
return Math.min(size, set.size());
}
}
폰켓몬을 Set에 저장하여 중복을 제거 한 후 폰켓몬 종류와 폰켓몬을 고를 수 있는 수 중에 작은 값을 반환