알고리즘/BOJ

백준 10815번 숫자 카드

꾸준함. 2018. 11. 16. 18:56

문제 링크입니다: https://www.acmicpc.net/problem/10815


전형적인 이분 탐색 문제였습니다.

숫자들을 입력 받은 뒤 정렬을 한 뒤 이분 탐색을 진행합니다.


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        int N;

        cin >> N;

 

        vector<int> v(N);

        for (int i = 0; i < N; i++)

                 cin >> v[i];

 

        sort(v.begin(), v.end());

        int M;

        cin >> M;

 

        for (int i = 0; i < M; i++)

        {

                 int num;

                 cin >> num;

 

                 int low = 0, high = N - 1;

                 bool searched = false;

                 while (low <= high)

                 {

                         int mid = (low + high) / 2;

                         if (v[mid] == num)

                         {

                                 searched = true;

                                 break;

                         }

                         else if (v[mid] < num)

                                 low = mid + 1;

                         else

                                 high = mid - 1;

                 }

                 if (!searched)

                         cout << 0 << " ";

                 else

                         cout << 1 << " ";

        }

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 10816번 숫자 카드 2  (4) 2018.11.16
백준 2512번 예산  (0) 2018.11.16
백준 1620번 나는야 포켓몬 마스터 이다솜  (0) 2018.11.16
백준 16204번 카드 뽑기  (0) 2018.11.15
백준 1300번 K번째 수  (2) 2018.11.15