halfSize만큼 해시 자료구조에 저장해도 되지만, halfSize와 해시 자료구조 크기의 최소값으로 답을 결정할 수 있다.
#include <vector>
#include <iostream>
#include <unordered_set>
using namespace std;
int solution(vector<int> nums)
{
unordered_set<int> s;
int halfSize = nums.size() / 2;
for (auto n : nums) {
if (s.size() >= halfSize)
break;
s.insert(n);
}
int answer = s.size();
return answer;
}
import java.util.*;
class Solution {
public int solution(int[] nums) {
int halfSize = nums.length / 2;
HashSet<Integer> hs = new HashSet<>();
for (var n : nums) {
if (hs.size() >= halfSize)
break;
hs.add(n);
}
int answer = hs.size();
return answer;
}
}