๋ฌธ์
๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค.
๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.
์ถ๋ ฅ
๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช ๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
ํ์ด
์ค๋ณต์ด ์๋ค + ๊ฒ์ ํ์ -> set์ ์ฌ์ฉํ๋ฉด ๋น ๋ฅด๊ฒ ํ ์ ์๋ ๋ฌธ์
1. ๋ฃ๋ ๋ชปํ ์ฌ๋์ set์ ์ ์ฅํ๋ค.
2. ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ ๋ ฅ์ ๋ฐ์ผ๋ฉด์ ํด๋น ์ฌ๋์ด '๋ฃ๋ ๋ชปํ ์ฌ๋' set์ ์๋์ง ํ์ธํ๋ค.
2-1. '๋ฃ๋ ๋ชปํ ์ฌ๋' set์ ์๋ ๊ฒฝ์ฐ ๊ทธ ์ฌ๋์ '๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋' set์ ์ถ๊ฐํ๋ค.
3. ์ถ๋ ฅํ๋ค.
#include <iostream>
#include <set>
using namespace std;
int main() {
int n, m;
string input;
set<string> s, answer;
// ์
๋ ฅ
cin >> n >> m;
while (n--) {
cin >> input;
s.insert(input);
}
for (int i = 0; i < m; i++) {
cin >> input;
if (s.find(input) != s.end())
answer.insert(input);
}
// ์ถ๋ ฅ
cout << answer.size() << "\n";
for (auto pos = answer.begin(); pos != answer.end(); pos++)
cout << *pos << "\n";
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 2776๋ฒ: ์๊ธฐ์ (0) | 2022.07.17 |
---|---|
[๋ฐฑ์ค/C++] 9375๋ฒ: ํจ์ ์ ์ ํด๋น (0) | 2022.07.10 |
[๋ฐฑ์ค/C++] 10757๋ฒ: ํฐ ์ A+B (0) | 2022.07.10 |
[๋ฐฑ์ค/C++] 19636๋ฒ: ์์ ์๋ฎฌ๋ ์ด์ (0) | 2022.07.02 |
[๋ฐฑ์ค/C++] 11651๋ฒ: ์ขํ ์ ๋ ฌํ๊ธฐ2 (0) | 2022.07.02 |
๋๊ธ