counting elements
배열 A가 주어지고 배열 원소의 가장 큰 값인 X가 주어진다.
개구리는 X 이하의 숫자가 모두 나올 때에만 강을 건널 수 있다.
숫자가 모두 나오는 시점의 index값을 return한다.
모두 나오지 않으면 -1을 return한다.
Hashset은 중복값은 저장하지 않기 떄문에 Hashset에 담아주고
set의 사이즈와 X가 같아질 때 개구리가 건너는 숫자가 된다.
그때 A의 index값을 리턴하면 몇초만에 개구리가 건너는 지 알 수 있다.
만약 set의 사이즈와 X가 같아지는 경우가 없으면 못 건너는 경우이므로 -1을 리턴한다.
public int solution(int X, int[] A) {
HashSet<Integer> S = new HashSet<>();
for (int i = 0; i < A.length; i++) {
S.add(A[i]);
if (S.size() == X) {
return i;
}
}
return -1;
}