알고리즘/BOJ

백준 10816번 숫자 카드 2

꾸준함. 2018. 11. 16. 22:50

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


백준 10815번 숫자 카드(http://jaimemin.tistory.com/991)와 똑같은 문제였지만 개수까지 구해야해서 단순 이분 탐색을 이용할 경우 TLE가 발생합니다.

따라서, upper_bound와 lower_bound를 이용하여 개수를 파악해줘야합니다!


#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;

 

                 cout << upper_bound(v.begin(), v.end(), num) - lower_bound(v.begin(), v.end(), num) << " ";

        }

        cout << "\n";

        return 0;

}


개발환경:Visual Studio 2017


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

반응형

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

백준 15809번 전국시대  (0) 2018.11.18
백준 2606번 바이러스  (2) 2018.11.18
백준 2512번 예산  (0) 2018.11.16
백준 10815번 숫자 카드  (0) 2018.11.16
백준 1620번 나는야 포켓몬 마스터 이다솜  (0) 2018.11.16