처음 써 본 lower_bound 문제..
이 함수 return 값이 배열의 위치라길래 아 그럼 인덱스인가? 해서 int tmp에 인덱스가 들어있는 줄 알았다. 알고보니 iterater였다. 어색한 iterater.. 그래서 앞에 * 붙여서 값을 들고왔다. 다음으로 값이 없을 수 있으므로 input과 같은지 확인했음
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n;
scanf("%d", &n);
vector <int> v(n);
for(int i = 0; i < n; i++)
scanf("%d", &v[i]);
sort(v.begin(), v.end());
int m;
scanf("%d", &m);
for(int i = 0; i < m; i++){
int input;
scanf("%d", &input);
int tmp = *lower_bound(v.begin(), v.end(), input);
if(tmp == input)
printf("1 ");
else
printf("0 ");
}
return 0;
}
'백준' 카테고리의 다른 글
16510 Predictable Queue (0) | 2019.11.25 |
---|---|
10816 숫자 카드 2 (0) | 2019.11.25 |
15885 고장난 시계 (0) | 2019.11.23 |
1252 이진수 덧셈 (0) | 2019.11.23 |
1790 수 이어 쓰기2 (미완) (0) | 2019.11.20 |