시간복잡도: O(N)
// you can use includes, for example:
// #include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(int X, vector<int> &A) {
// write your code in C++14 (g++ 6.2.0)
bool flag[X + 1] = {false,};
int count = 0;
for(int i=0;i<A.size();i++){
if(!flag[A[i]]) {
flag[A[i]] = true;
count++;
if(count == X) return i;
}
}
return -1;
}
bool
배열을 두고 한번 나온 경우에는 다시 포함하지 않으면서 원하는 값이 나올 때까지 for문
을 돌다가 종료해주었다. 만약 for문
에서 종료가 안 된다면 -1
을 return
해줬다.
다른 사람들 풀이를 보니 Set
을 많이 사용한 거 같다.