Search
📗

숫자 카드

주차
문제번호
10815
언어
C++
티어
실버
유형
자료구조
정렬
이분탐색
해시를 사용한 집합과 맵
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

m을 순회하면서 n을 이분탐색으로 서칭
이분탐색을 다 하고 났는데 m과 n이 같지 않다면 0

놓쳤던 부분

코드

8180 KB

604 ms

#include <iostream> #include <algorithm> #include <vector> using namespace std; int main(void) { int n,m; int tmp; vector<int> card1; vector<int> card2; int start, mid, end; cin >> n; for (int i = 0; i < n; i++) { cin >> tmp; card1.push_back(tmp); } cin >> m; for (int i = 0; i < m; i++) { cin >> tmp; card2.push_back(tmp); } sort(card1.begin(), card1.end()); for (int i = 0; i < m; i++) { start = 0; end = card1.size() - 1; int result; while (start <= end) { mid = (start + end) / 2; if (card2[i] < card1[mid]) end = mid - 1; else { result = card1[mid]; start = mid + 1; } } if (result == card2[i]) cout << "1 "; else cout << "0 "; } return (0); }
C++
복사