[๋ฐฑ์ค] 14425๋ฒ - ๋ฌธ์์ด ์งํฉ (C++)
14425๋ฒ: ๋ฌธ์์ด ์งํฉ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ ๊ฐ์ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฒ์ฌํด์ผ ํ๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด
www.acmicpc.net
๋ฌธ์
์ด N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ์งํฉ S๊ฐ ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ M๊ฐ์ ๋ฌธ์์ด ์ค์์ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๊ฒ์ด ์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ ๊ฐ์ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์ด์ง๋ค.
๋ค์ N๊ฐ์ ์ค์๋ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค.
๋ค์ M๊ฐ์ ์ค์๋ ๊ฒ์ฌํด์ผ ํ๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 500์ ๋์ง ์๋๋ค. ์งํฉ S์ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ M๊ฐ์ ๋ฌธ์์ด ์ค์ ์ด ๋ช ๊ฐ๊ฐ ์งํฉ S์ ํฌํจ๋์ด ์๋์ง ์ถ๋ ฅํ๋ค.
ํ์ด๊ณผ์
n๊ฐ ๋ฌธ์์ด๊ณผ m๊ฐ์ ๋ฌธ์์ด ์ค์ ์๋ก ๊ฒน์น๋๊ฒ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ฉด ๋์๋ ๋ฌธ์๋ผ
map<string, bool>ํ์์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
code
#include <iostream>
#include <map>
int main(void)
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
int n, m, count = 0;
std::map <std::string, bool> ma;
std::string temp;
std::cin >> n >> m;
for (int i = 0; i < n; i++) {
std::cin >> temp;
ma.insert(std::make_pair(temp, true));
}
for (int i = 0; i < m; i++)
{
std::cin >> temp;
if (ma.find(temp) != ma.end())
count++;
}
std::cout << count;
return (0);
}
ํ๊ธฐ
๋๋ฆ ๊ฐ๋จํ๋ ์๋ฃ๊ตฌ์กฐ ํ์์ ๋ฌธ์ ์์๋ค.