https://www.acmicpc.net/problem/1920
1920번: 수 찾기
첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들
www.acmicpc.net
그냥 set 날먹 문제구나 싶었는데
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
ios::sync_with_stdio(0),cin.tie(0);
int N, M;
unordered_set<int> s;
cin >> N;
for (int i = 0; i < N; i++) {
int cur;
cin >> cur;
s.insert(cur);
}
cin >> M;
for (int i = 0; i < M; i++) {
int cur;
cin >> cur;
if (s.find(cur) == s.end())
cout << 0 << endl;
else
cout << 1 << endl;
}
}
시간 초과난다. => 이분탐색
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(0),cin.tie(0);
int N, M;
vector<int> v;
cin >> N;
for (int i = 0; i < N; i++) {
int cur;
cin >> cur;
v.push_back(cur);
}
sort(v.begin(), v.end());
cin >> M;
for (int i = 0; i < M; i++) {
int cur;
cin >> cur;
if (binary_search(v.begin(), v.end(), cur))
cout << '1' << '\n';
else
cout << '0' << '\n';
}
}
'<algorithm> > 백준' 카테고리의 다른 글
백준 11866 요세푸스 문제 0 c++ (0) | 2023.09.11 |
---|---|
백준 1018 체스판 다시 칠하기 c++ (0) | 2023.09.11 |
백준 10816 숫자 카드 2 c++ (0) | 2023.09.11 |
백준 1620 (c++) 나는야 포켓몬 마스터 이다솜 (0) | 2023.04.06 |
백준 7785 (c++) 회사에 있는 사람 (0) | 2023.04.06 |