https://programmers.co.kr/learn/courses/30/lessons/1845
- 최대한 고를 수 있는 배열 길이의 절반인 값을 max 변수에 담아준다.
- 리스트에 배열 값이 중복되지 않게 고른다. 리스트에 있는 폰켓몬들이 내가 가져갈 수 있는 폰켓몬의 종류들이다.
- 만약에 내가 가져 갈 수 있는 폰켓몬의 수가 max값 보다 높다면, max값을 리턴.
import java.util.ArrayList;
class Solution {
public int solution(int[] nums) {
int answer = 0;
int max = nums.length / 2;
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i : nums) {
if(!list.contains(i)) {
list.add(i);
answer++;
}
}
if(list.size() > max) {
answer = max;
}
return answer;
}
}
그런데 종류가 가져갈 수 있는 조합의 종류가 아닌, 내가 가지고 갈 수 있는 폰켓몬의 종류를 뜻하는 문제였으며 쉽게 접근 할 수 있었다.