[SWEA] 문자열 교집합 - unordered_set

이성현·2021년 10월 5일
0

SWEA

목록 보기
4/5

문자열 교집합

배운점

  1. unordered_set는 set와 달리 정렬을 하지 않기 때문에 연산량이 많지 않다.
  2. words.find(str)==words.end()라는 의미는 words라는 집합에서 str의 값을 찾지 못했다는 의미이다.
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int T, N, M;

unordered_set<string> words;
string str;

int cnt;
int main() {
	scanf("%d", &T);
	for (register int tc = 1; tc <= T; tc++) {
		words.clear(); cnt = 0;
		scanf("%d %d", &N, &M);
		for (register int i = 0; i < N; i++) {
			cin >> str;
			words.emplace(str);
		}
		for (register int i = 0; i < M; i++) {
			cin >> str;
			if(words.find(str)==words.end()) words.emplace(str);
			else cnt++;
		}
		printf("#%d %d\n", tc, cnt);
	}
	return 0;
}
profile
삼성전자 C-Lab 21기 Creative Leader SW개발자 (쪼랩)

0개의 댓글