그럴듯한 개발 블로그
Published 2023. 9. 11. 16:57
백준 1920 수 찾기 c++ <algorithm>/백준
반응형

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';
	}
}
반응형
profile

그럴듯한 개발 블로그

@donghyk2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!