https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
풀이 :
- set에 넣고 수를 받을 때마다 s.count를 출력해준다
s.find는 수가 존재하면 그 수를 가리키는 반복자를 반환하고, s.count는 존재하면 1, 아니면 0을 반환한다
코드 :
#include <iostream>
#include <set>
using namespace std;
int main(void) {
int n, m, num;
set<int> s;
scanf("%d", &n);
while (n--){
scanf("%d", &num);
s.insert(num);
}
scanf("%d", &m);
while(m--){
scanf("%d", &num);
printf("%lu ", s.count(num));
}
printf("\n");
}
- 시간 초과 주의!!
cin, cout 말고 scanf, printf 쓰는 습관 들여야겠다..
'PS_Baekjoon' 카테고리의 다른 글
[백준 C++] 1439번 : 뒤집기 (0) | 2023.02.27 |
---|---|
[백준 C++] 7568번 : 덩치 (0) | 2023.02.26 |
[백준 C++] 11866번 : 요세푸스 문제 0 (0) | 2023.02.25 |
[백준 C++] 10814번 : 나이순 정렬 (0) | 2023.02.24 |
[백준 C++] 2751번 : 수 정렬하기 2 (0) | 2023.02.24 |