코테/백준
[백준] 1764 듣보잡 - C++
gayoungeeda
2023. 7. 19. 22:03
728x90
https://www.acmicpc.net/problem/1764
문제 설명
문제 풀이
#include<stdio.h>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string arr[500001];
string answer[500001];
int main()
{
int i, n, m, cnt = 0;
scanf("%d%d", &n, &m);
for(i = 0; i < n+m; i++) {
cin >> arr[i];
}
sort(arr, arr+n+m);
for(i = 1; i < n+m; i++) {
if(arr[i] == arr[i-1])
answer[cnt++] = arr[i];
}
cout << cnt << "\n";
for(i = 0; i < cnt; i++) {
cout << answer[i] << "\n";
}
return 0;
}
각 명단에는 중복되는 이름이 없다는 조건이 전제되어 있으므로
두 명단에 모두 속해있는 사람 = 두 명단을 한번에 입력받아 정렬했을 때 이름이 두개 들어있음 = 배열의 i번째와 i-1번째를 비교해서 같음