첫 시도
- set을 이용하여 중복 제거
- 다른 종류의 폰켓몬을 최대 N/2개 가지고 싶다 -> 폰켓몬의 종류가 N/2보다 작다면 최대값은 폰켓몬의 종류 개수가 된다
- 시간 복잡도는 O(10^5)이다
해결
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashSet<Integer> set = new HashSet();
for(int i = 0; i<nums.length; i++){
set.add(nums[i]);
}
int length = nums.length /2;
int setLength = set.size();
if(setLength > length) answer = length;
else answer = setLength;
return answer;
}
}
참고
- 직접구현