codility Lesson4 - FrogRiverOne

요리하는코더·2021년 11월 15일
0

알고리즘 - 문제

목록 보기
39/48
post-thumbnail

코드

시간복잡도: 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문에서 종료가 안 된다면 -1return해줬다.
다른 사람들 풀이를 보니 Set을 많이 사용한 거 같다.

profile
요리 좋아하는 코린이

0개의 댓글